从对象数组

时间:2018-05-15 11:28:07

标签: javascript json

我想从对象数组中删除一个属性

"[{"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"}]" 

5 个答案:

答案 0 :(得分:8)

您可以使用array.mapdestructuringrest

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);