2016-11-06 1 views
0

Ich möchte einige Eigenschaften aus einem Array von Javascript-Objekten entfernen. Hier ist die Anordnung der Objekte.Entfernen Sie einige Eigenschaften aus Array von Javascript-Objekten

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", 
    } 
] 

Ich habe dieses String-Array, das angibt, welche Eigenschaften entfernt werden sollen.

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

Nach dem Entfernen wird das Array des Objekts so aussehen;

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", 
    } 
] 

Ich verwende node.js v6.

Antwort

2

Hier gehen Sie,

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

Erstaunlich. Die Geschwindigkeit, mit der Sie antworten können, und die Kürze Ihres Codes. Ich sollte etwas über Karte lernen, einen dieser Tage filtern. Nicht leicht, sich daran zu gewöhnen. – user781486

+1

@ user91579631, yeah sie sind lustig zu lernen mate :-) – Aruna

+0

ist Ihr Code funktionale Programmierung? Es sieht so anders aus, aber brillant und kurz. Muss ich FP lernen, um Ihren Code zu verstehen? – user781486

Verwandte Themen