如何在Javascript中合并两个可选数组?这是我到目前为止最好的:
const trades = this.position.trades; // trades or maintenance can be undefined
const maintenance = this.position.maintenance;
const principals = [... trades ? trades : [], ... maintenance ? maintenance : []];
寻找优雅的解决方案,同时处理任何数组都可以是未定义的事实(也就是可选的)。谢谢!
PS:我使用的是Typescript 2.6 / ES6
答案 0 :(得分:5)
你可以这样做。 ||
如果第一个操作数为 falsy ,则会返回[]
。
const trades = this.position.trades || [];
const maintenance = this.position.maintenance || [];
const principals = [...trades, ...maintenance];
或者代替spread
运算符,只需使用Array#concat
const trades = this.position.trades || [];
const maintenance = this.position.maintenance || [];
const principals = trades.concat(maintenance);
答案 1 :(得分:2)
您可以将||
运算符与已使用的spread运算符结合使用:
const principals = [...this.position.trades || [], ...this.position.maintenance || []];