2017-05-01 5 views
0

私はReactとReduxを使用しています。私はselectedAccountの小道具が存在するかどうかを確認する次の変数の割り当てを持っています。そうであれば、account_numberを取得してaccountNumbersに格納します。ユーザーがアカウントを選択しなかった場合、3つのステートメントはallAccountsの小道具を調べ、オブジェクトの配列をアカウント番号の配列に縮小します。Javascript Termaryの結果を両方の配列で正規化

> let accountNumbers = this.props.selectedAccount ? 
> this.props.selectedAccount.toJS().account_number : 
>  this.props.allAccounts.reduce((accumulator, currentElement) => accumulator.concat(currentElement.account_number)); 

3次ステートメントの1番目の式は文字列を返します。 2番目の式は配列を返します。私は配列を返すために最初の式を取得しようとしています。何か案は?私はこれをすべて1行でやりたいと思っています。前もって感謝します。すべての助けに感謝します。

次のように私のオブジェクトが構成されていますのでご注意ください。

> selectedAccount: { account_nickname: "X", account_number: "123456", 
> mailing_address: "The White House" } 
> 
> allAccounts: [ 0: { account_nickname: "X", account_number: "123456", 
> mailing_address: "The White House" }, 1: { account_nickname: "Y", 
> account_number: "76543", mailing_address: "Washington Monument" } ] 

答えて

0

あなたの三元の最初の部分は、口座番号、ないアカウントを返します。私はselectedAccount(?)を返すと思う。 1つのアイテムの配列にするには、角括弧で囲みます。

let accountNumbers = this.props.selectedAccount ? 
    [this.props.selectedAccount] : 
    this.props.allAccounts.reduce((accumulator, currentElement) => accumulator.concat(currentElement.account_number)); 
+0

ありがとう!それはそれをした! –

関連する問題