我想从对象数组中删除一个属性
"[{"name":"vv","age":"12","id":"123"},{"name":"v2","age":"13","id":"123"},{"name":"v3","age":"123","id":"124"}]"
我想从数组中移除age属性,我的输出应该是
[{"name":"vv","id":"123"},{"name":"v2","id":"123"},{"name":"v3","id":"124"}]"
答案 0 :(得分:8)
您可以使用array.map
,destructuring
和rest
:
var arr = [{"name":"vv","age":"12","id":"123"},{"name":"v2","age":"13","id":"123"},{"name":"v3","age":"123","id":"124"}];
arr = arr.map(({ age, ...rest}) => rest);
console.log(arr);
答案 1 :(得分:4)
如果您想要更新现有数组(使用delete)
var arr = [{"name":"vv","age":"12","id":"123"},{"name":"v2","age":"13","id":"123"},{"name":"v3","age":"123","id":"124"}];
arr.forEach((item) => delete item.age);
console.log(arr);
如果您想要创建新数组(使用Array.map)
var arr = [{"name":"vv","age":"12","id":"123"},{"name":"v2","age":"13","id":"123"},{"name":"v3","age":"123","id":"124"}];
var arr1 = arr.map(({ age, ...obj}) => obj);
console.log(arr1); // updated
console.log(arr); // no change
答案 2 :(得分:1)
var arr='[{"name":"vv","age":"12","id":"123"},{"name":"v2","age":"13","id":"123"},{"name":"v3","age":"123","id":"124"}]';
var JSON_ARRAY= JSON.parse(arr);
JSON_ARRAY.forEach( function (arrayItem)
{
delete arrayItem.age;
});
答案 3 :(得分:0)
您可以使用Reflect.deleteProperty
删除该媒体资源。
var array = [{ name: "vv", age: "12", id: "123" }, { name: "v2", age: "13", id: "123" }, { name: "v3", age: "123", id: "124" }];
array.forEach(o => Reflect.deleteProperty(o, 'age'));
console.log(array);

答案 4 :(得分:0)
试试这个:
var jsonString = '[{"name":"vv","age":"12","id":"123"},{"name":"v2","age":"13","id":"123"},{"name":"v3","age":"123","id":"124"}]';
var jsonObj = JSON.parse(jsonString);
jsonObj.map(obj => {
delete obj.age;
return obj;
});
console.log(jsonObj);