根据提供的名称从嵌套JSON中删除对象.它应该归还其余的



嗨,我是react native的新手,我有一个对象数组,我想从这个JSON中删除一个内部对象。

[
{
Key: 1,
exchnageArr: [
{
name: ”FX”
},
{
name: ”MK”
}
]
},
{
Key: 2,
exchnageArr: [
{
name: ”CK”
},
{
name: ”DK”
}
]
}
]

这里我想从JSON中删除{name:"FX"}。如果我传递"FX"。如何做到这一点,我试过,但不为我工作。


const newDatavalues = arr.forEach((item) =>
item.exchangeArr.forEach((subItem, index) => {
if (subItem.name === "FX") {
return item.exchangeArr.splice(index, 1);
} 
})
);

您可以在一个对象内的每个数组上使用Array#filter

let arr=[{Key:1,exchnageArr:[{name:"FX"},{name:"MK"}]},{Key:2,exchnageArr:[{name:"CK"},{name:"DK"}]}];
for (const o of arr)
o.exchnageArr = o.exchnageArr.filter(x => x.name !== 'FX');
console.log(arr);

您在数组(JSON)中的属性名称中有一个错别字(exchnageArr,应该是exchangeArr)

纠正JSON:

[
{
Key: 1,
exchangeArr: [
{
name: ”FX”
},
{
name: ”MK”
}
]
},
{
Key: 2,
exchangeArr: [
{
name: ”CK”
},
{
name: ”DK”
}
]
}
]
现在你的代码应该可以正常工作了。

最新更新