2017-12-05 29 views
0

最近、Javascriptで2つのオプションの配列をマージしますか?どちらかの配列が未定義することができるという事実(別名オプション)を扱うながら javascriptで2つのオプションの配列をマージする方法

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

スプレッドオペレータの後'... trades'にする必要があります –

答えて

5

このようなことができます。 ||最初のオペランドがfalsyの場合、これは[]を返します。 spreadオペレータの

const trades = this.position.trades || []; 
const maintenance = this.position.maintenance || []; 
const principals = [...trades, ...maintenance]; 

かだけではなく、あなたがすでに使用広がりオペレータと一緒に||演算子を使用することができますArray#concat

const trades = this.position.trades || []; 
const maintenance = this.position.maintenance || []; 
const principals = trades.concat(maintenance); 
2

を使用します。間隔のように注意してください

const principals = [...this.position.trades || [], ...this.position.maintenance || []]; 
関連する問題