2016-11-06 14 views
0

javascriptオブジェクトの配列からいくつかのプロパティを削除したいと思います。ここにオブジェクトの配列があります。javascriptオブジェクトの配列からいくつかのプロパティを削除します。

obj_array = [{ 
     "DATA_ID": 1, 
     "DATA_NAME": "Jim", 
     "DATA_BB_TYP": 2, 
     "DATA_MAC": "5474", 
    }, 
    { 
     "DATA_ID": 3, 
     "DATA_NAME": "Fro", 
     "DATA_BB_TYP": 33, 
     "DATA_MAC": "8e30", 
    }, 
    { 
     "DATA_ID": 2, 
     "DATA_NAME": "Jimb", 
     "DATA_BB_TYP": 2, 
     "DATA_MAC": "45e8", 
    }, 
    { 
     "DATA_ID": 4, 
     "DATA_NAME": "Kht1", 
     "DATA_BB_TYP": 35, 
     "DATA_MAC": "58d0", 
    }, 
    { 
     "DATA_ID": 6, 
     "DATA_NAME": "Sens", 
     "DATA_BB_TYP": 34, 
     "DATA_MAC": "d004", 
    } 
] 

私は削除するプロパティを指定するこの文字列配列を持っています。

var str_array_criteria = ["DATA_BB_TYP", "DATA_MAC"]; 

削除後、オブジェクトの配列は次のようになります。

obj_array_removed = [{ 
     "DATA_ID": 1, 
     "DATA_NAME": "Jim",   
    }, 
    { 
     "DATA_ID": 3, 
     "DATA_NAME": "Fro", 
    }, 
    { 
     "DATA_ID": 2, 
     "DATA_NAME": "Jimb", 
    }, 
    { 
     "DATA_ID": 4, 
     "DATA_NAME": "Kht1", 
    }, 
    { 
     "DATA_ID": 6, 
     "DATA_NAME": "Sens", 
    } 
] 

私はnode.js v6を使用しています。ここで

答えて

2

あなたは、

var obj_array = [{ 
 
     "DATA_ID": 1, 
 
     "DATA_NAME": "Jim", 
 
     "DATA_BB_TYP": 2, 
 
     "DATA_MAC": "5474", 
 
    }, 
 
    { 
 
     "DATA_ID": 3, 
 
     "DATA_NAME": "Fro", 
 
     "DATA_BB_TYP": 33, 
 
     "DATA_MAC": "8e30", 
 
    }, 
 
    { 
 
     "DATA_ID": 2, 
 
     "DATA_NAME": "Jimb", 
 
     "DATA_BB_TYP": 2, 
 
     "DATA_MAC": "45e8", 
 
    }, 
 
    { 
 
     "DATA_ID": 4, 
 
     "DATA_NAME": "Kht1", 
 
     "DATA_BB_TYP": 35, 
 
     "DATA_MAC": "58d0", 
 
    }, 
 
    { 
 
     "DATA_ID": 6, 
 
     "DATA_NAME": "Sens", 
 
     "DATA_BB_TYP": 34, 
 
     "DATA_MAC": "d004", 
 
    } 
 
]; 
 

 
    var str_array_criteria = ["DATA_BB_TYP", "DATA_MAC"]; 
 

 
    var new_obj_array = obj_array.map(function(obj) { 
 
     str_array_criteria.forEach(function(prop) { 
 
     delete obj[prop]; 
 
     }); 
 
     
 
     return obj; 
 
    }); 
 

 
    console.log(new_obj_array);

+0

アメージングを行きます。あなたが答えるスピードとコードの簡潔さ。私は地図について学ぶべきです、これらの日のうちの1つをフィルタリングしてください。それらに慣れるのは簡単ではありません。 – user781486

+1

@ user91579631、彼らは仲間を学ぶのが楽しいです:-) – Aruna

+0

は、あなたのコードの関数型プログラミングですか?それはとても異なって見えますが、華麗で短く見えます。あなたのコードを理解するためにFPを学ばなければなりませんか? – user781486

関連する問題