プロパティを含む場合と含まない場合のオブジェクトの配列があります。だから、未定義の可能性のあるプロパティを持つ配列フィルタ
、それをフィルタリングするために、私はこれを実行します。
をarray = array.filter(v => v.myproperty != undefined);
array = array.filter(v => v.myproperty[0] != undefined);
これは事実myproperty
が、その後、myproperty
内の最初の要素のもの未定義で、ものを削除します。
filter
をアレイに2回適用するのを防ぐ単一のライナーがある方法はありますか?
ような何か:最後に
array = array.filter((v => v.myproperty || [])[0] != undefined);
なりません'配列= array.filter(!!V => v.myproperty =未定義&& v.myproperty [0] =未定義):1つだけのカッコを置き忘れ? – Blorgbeard
いいえ、それはエラーです:定義されていないもののインデックス0にアクセスしようとしているので、 "mypropertyは定義されていません" – chiapa
しかし、 '&&'短絡、そうですか? 'myproperty'が未定義の場合、' myproperty [0] 'は評価されません。 – Blorgbeard