lodash を使用してオブジェクトから未定義値と null 値を削除するにはどうすればよいでしょうか? 質問する

lodash を使用してオブジェクトから未定義値と null 値を削除するにはどうすればよいでしょうか? 質問する

次のような Javascript オブジェクトがあります:

var my_object = { a:undefined, b:2, c:4, d:undefined };

未定義のプロパティをすべて削除するにはどうすればよいでしょうか? 偽の属性はそのまま残す必要があります。

ベストアンサー1

_.omit()と合成_.isUndefinedを単純に連鎖し_.isNull、遅延評価で結果を得ることができます。

デモ

var result = _(my_object).omit(_.isUndefined).omit(_.isNull).value();

2016年3月14日更新:

コメント セクションでdylantsが述べたように、_.omitBy()プロパティではなく述語を使用するため、関数を使用する必要があります。これは、lodash バージョン4.0.0以上で使用する必要があります。

デモ

var result = _(my_object).omitBy(_.isUndefined).omitBy(_.isNull).value();

2016年6月1日更新:

Max Truxaがコメントしたように、lodash はすでにと の_.isNil両方をチェックする代替手段を提供しています。nullundefined

var result = _.omitBy(my_object, _.isNil);

おすすめ記事