React Native 根据提供的名称从嵌套JSON中删除对象,它应该返回其余的

7qhs6swi  于 2023-03-31  发布在  React
关注(0)|答案(2)|浏览(126)

嗨,我是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);
           } 
       })
     );
6qqygrtg

6qqygrtg1#

您可以在其中一个对象内的每个数组上使用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);
mznpcxlj

mznpcxlj2#

您在数组(JSON)的属性名称中输入了一个拼写错误(exchnageArr,应该是exchangeArr)。
已更正的JSON:

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

现在你的代码应该可以正常工作了。

相关问题