假设我有一个像这样的对象数组
peoples = [{name:"Joe",age:21,sex:'M'},
{name:"Smith",age:18,sex:'M'},{name:"Sally",age:25,sex:'F'}];
其中一些字段无关紧要,因此我需要从上述所有对象中删除属性年龄和性别。
这是所需的输出。
[{name:"Joe"},{name:"Smith"},{name:"Sally"}];
更新 如果我可以像$ filter一样使用angularjs内置服务,那就太好了。
答案 0 :(得分:2)
我没有看到删除不必要的对象的必要性,因为您只能访问所需的字段。否则,您可以从您创建的阵列中创建一个新阵列,从而消除您不想要的内容。
var peoples = [{name:"Joe",age:21,sex:'M'},{name:"Smith",age:18,sex:'M'},{name:"Sally",age:25,sex:'F'}];
var names = [];
peoples.forEach(function(entry) {
names.push({name:entry.name});
});
console.log("New Names:",names); //[{name:"Joe"},{name:"Smith"},{name:"Sally"}];
答案 1 :(得分:1)
只是做:
for( var i = 0; i < peoples.length; ++i ) {
delete peoples[i].age;
delete peoples[i].sex;
}
delete
是为此