Javascript 保留json对象数组的选定成员
我希望保留JSON对象数组的选定成员。我有下面的JSON数组Javascript 保留json对象数组的选定成员,javascript,arrays,json,Javascript,Arrays,Json,我希望保留JSON对象数组的选定成员。我有下面的JSON数组 [ { XXX: "2", YYY: "3", ZZZ: "4" }, { XXX: "5", YYY: "6", ZZZ: "7" }, { XXX: "1", YYY: "2", ZZZ: "3" } ] 我想保留XXX和ZZZ成员,这样新
[
{
XXX: "2",
YYY: "3",
ZZZ: "4"
},
{
XXX: "5",
YYY: "6",
ZZZ: "7"
},
{
XXX: "1",
YYY: "2",
ZZZ: "3"
}
]
我想保留XXX和ZZZ成员,这样新的json数组就会像这样
[
{
XXX: "2",
ZZZ: "4"
},
{
XXX: "5",
ZZZ: "7"
},
{
XXX: "1",
ZZZ: "3"
}
]
一种方法是使用下面的删除方法删除YYY成员
for(var i = 0; i < jsonArr.length; i++) {
delete jsonArry[i]['YYY'];
}
for(var i=0;i
然而,我更希望有一个保留成员的功能,而不是删除成员。类似于RetainMembers(JsonArr,'XXX,'ZZZ')的东西,返回新的json数组。如何在Javascript中实现这一点?谢谢。有专门针对这一点的:
var reduced = original.map(function(_item) {
return {XXX: _item.XXX, ZZZ: _item.ZZZ}; // leave out YYY
});
对于这类问题,我使用本机
map
函数
var actual = data.map(function (obj) {
var newObj = {};
newObj['XXX'] = obj['XXX'];
newObj['ZZZ'] = obj['ZZZ'];
return newObj;
});
我可以像你那样做,但我不喜欢改变实际的元素。最好返回一个新对象。只需将其包装在函数中。您可以复制javascript数组,然后运行副本上列出的for循环。@R Dub:谢谢!我认为这是一个很好的开始。正确答案,但我只能标记1个答案为正确答案。很抱歉