规范化Javascript术语结果,使两个数组

规范化Javascript术语结果,使两个数组,javascript,Javascript,我正在使用React和Redux。我有下面的变量赋值,它检查selectedAccount属性是否存在。如果是这样,它将获取帐号并将其存储在AccountNumber中。如果用户没有选择帐户,三元语句将查看allAccounts道具,并将该对象数组缩减为一个帐号数组 > let accountNumbers = this.props.selectedAccount ? > this.props.selectedAccount.toJS().account_number : >

我正在使用React和Redux。我有下面的变量赋值,它检查selectedAccount属性是否存在。如果是这样,它将获取帐号并将其存储在AccountNumber中。如果用户没有选择帐户,三元语句将查看allAccounts道具,并将该对象数组缩减为一个帐号数组

> let accountNumbers = this.props.selectedAccount ?
> this.props.selectedAccount.toJS().account_number :
>       this.props.allAccounts.reduce(( accumulator, currentElement ) => accumulator.concat(currentElement.account_number));
三元语句的第一个表达式返回一个字符串;而第二个表达式返回一个数组。我试图让第一个表达式返回一个数组。有什么想法吗?我想在一行中完成所有这些。提前谢谢。感谢所有的帮助

请注意,我的对象的结构如下:

> 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" } ]

三元函数的第一部分返回一个帐号,而不是一个帐号。我怀疑您想返回selectedAccount(?)。要使其成为一个单项目数组,只需将其用方括号括起来,即:

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

谢谢成功了!