2

这是我的代码

var array = [{ id: 1,  name: 'test' }, { id: 2,  name: 'test2' }];

我需要改变上面的数组,如下所示

[{ name: 'test' }, { name: 'test2' }]

我试过删除

array.forEach(function(arr, i) {
    delete array[i].id;
});
console.log(array);

输出为

[ { id: 1, name: 'test' },
  { id: 2,  name: 'test2'} ]

但它不会删除该id项目。如何删除数组对象项?

我在节点v0.8中使用它。

4

3 回答 3

2

id属性删除,如下所示:

for (var l in array[0]) {
    if (array[0].hasOwnProperty(l)) {
        console.log(array[0][l]);
    }
}

jsFiddle

输出截图node.js

截屏
(来源:nicon.nl

于 2013-07-01T10:00:48.110 回答
0

嗯,这是您的 jQuery 1.9.1 代码,它运行良好:http: //jsfiddle.net/8GVQ9/

var array = [{ id: 1,  name: 'test' }, { id: 2,  name: 'test2' }];
array.forEach(function(arr, i) {
    delete array[i].id;
});
console.log(array);

顺便说一句,您想从数组中的对象中删除 'property' Id - 这更好地理解您。

于 2013-07-01T10:01:22.543 回答
0

您必须解析数组并构建新版本,然后替换它。

var array = [{ id: 1,  name: 'test' }, { id: 2,  name: 'test2' }];    
var tempArray = []; 
    for(var i = 0; i < array.length; i++)
    {
        tempArray.push({name : array[i].name});
    }
    array = tempArray;
于 2013-07-01T10:03:44.950 回答