Привет, я новичок в реагировании на нативные, у меня есть массив объектов, я хочу удалить внутренний объект из этого JSON.
[
{
Key: 1,
exchnageArr: [
{
name: ”FX”
},
{
name: ”MK”
}
]
},
{
Key: 2,
exchnageArr: [
{
name: ”CK”
},
{
name: ”DK”
}
]
}
]
Здесь я хочу удалить {имя: "FX"} из этого JSON. Если я передам "FX". Как это сделать, я пробовал, но у меня не работает.
const newDatavalues = arr.forEach((item) =>
item.exchangeArr.forEach((subItem, index) => {
if (subItem.name === "FX") {
return item.exchangeArr.splice(index, 1);
}
})
);
У вас есть опечатка (exchnageArr
, должно быть exchangeArr
) в именах ваших свойств в массиве (JSON).
Исправленный JSON:
[
{
Key: 1,
exchangeArr: [
{
name: ”FX”
},
{
name: ”MK”
}
]
},
{
Key: 2,
exchangeArr: [
{
name: ”CK”
},
{
name: ”DK”
}
]
}
]
Теперь ваш код должен работать нормально.
Вы можете использовать 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.info(arr);