从数组中的 JSON 对象中删除属性 [重复]
Posted
技术标签:
【中文标题】从数组中的 JSON 对象中删除属性 [重复]【英文标题】:Remove attribute from JSON objects in a array [duplicate] 【发布时间】:2019-03-11 13:19:56 【问题描述】:我有一个 json 对象数组。
var user =[ id: 1, name: 'linto', img: 'car' ,
id: 2, name: 'shinto', img: 'ball' ,
id: 3, name: 'hany', img: 'kite' ]
从这里是想从数组的所有元素中删除属性img,所以输出看起来像这样。
var user =[ id: 1, name: 'linto' ,
id: 2, name: 'shinto' ,
id: 3, name: 'hany' ]
有没有办法在java脚本中做到这一点。
【问题讨论】:
【参考方案1】:您可以将.map()
与对象解构一起使用:
let data =[
id: 1, name: 'linto', img: 'car' ,
id: 2, name: 'shinto', img: 'ball' ,
id: 3, name: 'hany', img: 'kite'
];
let result = data.map((img, ...rest) => rest);
console.log(result);
【讨论】:
【参考方案2】:Array.prototype.map()
map() 方法创建一个新数组,其结果是在调用数组中的每个元素上调用提供的函数。
您可以通过以下方式使用map()
:
var user =[ id: 1, name: 'linto', img: 'car' ,
id: 2, name: 'shinto', img: 'ball' ,
id: 3, name: 'hany', img: 'kite' ]
user = user.map(u => (id: u.id, name: u.name));
console.log(user);
【讨论】:
我们可以在映射的时候添加一些条件吗?就像我们要检查 Id 是否为空一样。 @SouradeepBanerjee-AIS,map()
旨在遍历所有数组项,您可以根据某些条件操作这些项。如果你想过滤掉一些项目,那么你可以使用filter()
:)
谢谢,我使用了过滤功能,并且能够做到。
@SouradeepBanerjee-AIS,不客气:)
@SouradeepBanerjee-AIS,期待投票:)以上是关于从数组中的 JSON 对象中删除属性 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何从数组中删除重复值?当数组内的对象属性未定义时,我的代码失败