2017-04-05 111 views
-1

我有這個數組:如何通過JavaScript中的鍵刪除數組中的元素?

var myArray = [ 
        {first_name: "Oded", last_name: "Taizi", id: 1}, 
        {first_name: "Ploni", last_name: "Almoni", id: 2} 
        ]; 

的我想刪除id元素?我創建這樣的功能,但它不能正常工作。

function removeKeys(array,keys){ 
for(var i=0; i<array.length; i++){ 
    for(var key in array[i]){ 
     for(var j=0; j<keys.length; j++){ 
      if(keys[j] == key){ 
       array[i].splice(j, 1); 
      } 
     } 
    } 
} 
} 

removeKeys(myArray ,["id"]); 

結果數組應該是這樣的:

[ 
    {first_name: "Oded", last_name: "Taizi"}, 
    {first_name: "Ploni", last_name: "Almoni"} 
]; 
+0

您需要使用刪除:'刪除陣列[I] [關鍵]' – Oskar

+0

你試圖從一個對象而不是一個數組中刪除一個屬性。您可以使用刪除 – Pineda

+1

如果您問如何從這些對象中刪除'id'屬性,這是[*我如何從JavaScript對象中移除屬性?*](http:// stackoverflow .com/questions/208105/how-do-i-remove-a-property-from-a-javascript-object) –

回答

0

使用此:

myArray.forEach(function(item){ delete item.id }); 
+0

如果這就是OP的要求,我們不需要*另一個* [這個問題]的答案(http://stackoverflow.com/questions/208105/how-do -i-除去-A-財產從-A-JavaScript的對象)。 –

+0

...他們現在已經證實是的,這就是他們要求的。 –