var a = [{'id':1,'name':'James','age':11}];
a = a.filter(function( obj,i ) {
//return obj != 'age';
});
filter会创建一个新数组,但如何拼接age属性键?没有使用jquery,在这种情况下不能使用$ .grep。并且不会使用删除,因为它并没有真正删除密钥,而是留下一个空插槽。
答案 0 :(得分:1)
使用Array#forEach
和delete
运算符删除key
var a = [{
'id': 1,
'name': 'James',
'age': 11
}, {
'id': 2,
'name': 'James2'
}];
a.forEach(function(obj, i) {
obj['age'] && delete obj['age'];
});
console.log(a);

答案 1 :(得分:0)
请试试这个:
a = [{'id':1,'name':'James','age':11}];
b = a.map(function(v, i) {
var copy = {};
for(key in v) {
if(key != 'age') {
copy[key] = v[key];
}
}
return copy;
});
答案 2 :(得分:-2)
var a = [{'id':1,'name':'James','age':11}];
a = a.filter(function( obj,i ) {
if(obj.hasOwnProperty('age')) {
delete obj.age
return obj;
}
});