2017-04-05 84 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

...他们现在已经证实是的,这就是他们要求的。 –