我想保留JSON对象数组的选定成员。我有下面的JSON数组;
[
{
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'];
}
但是,我希望保留一个保留的功能,而不是删除成员。像RetainMembers(JsonArr,&#39; XXX&#39;,&#39; ZZZ&#39;)那样返回新的json数组。如何在Javascript中完成?感谢。
答案 0 :(得分:1)
Array.map()
专门针对此:
var reduced = original.map(function(_item) {
return {XXX: _item.XXX, ZZZ: _item.ZZZ}; // leave out YYY
});
答案 1 :(得分:1)
我使用原生map
函数来解决这些问题。
var actual = data.map(function (obj) {
var newObj = {};
newObj['XXX'] = obj['XXX'];
newObj['ZZZ'] = obj['ZZZ'];
return newObj;
});
我可以按照你的方式去做,但我不喜欢改变实际的元素。最好返回一个新的对象。