javascript - 如何在javascript中过滤数组内的嵌套对象

标签 javascript reactjs algorithm react-native data-structures

我的数组中有以下嵌套对象,我想过滤结果以返回特定项目的 id。

const data = [
   {0: {id: 1, country: "SA", address: "IOXX"}},
   {1: {id:2, country: "SAP", name: "N", address: "IOP"}},
   {2: {id:3, country: "S", name: "NO", address: "I"}},
   {3: {id:4, country: "SXX", name: "NOI", address: "INDIA"}},
]

我尝试的解决方案是返回 null,因为我认为嵌套对象结构

var dataREsult =  data.filter(function(el) {
  return el.id == 4;
});

P.S:上面的数据结构来 self 正在使用的后端。

我是 javascript 的初学者。任何帮助将不胜感激。

最佳答案

Array.filter()回调中使用Object.values()

const data = [
   {0: {id: 1, country: "SA", address: "IOXX"}},
   {1: {id:2, country: "SAP", name: "N", address: "IOP"}},
   {2: {id:3, country: "S", name: "NO", address: "I"}},
   {3: {id:4, country: "SXX", name: "NOI", address: "INDIA"}},
]

const result = data.filter(el => Object.values(el)[0].id === 4);

for(var i=data.length-1; i>=0; i--) {
  if(Object.values(data[i])[0].id === 4)
    data.splice(i, 1)
}


console.log(data);

关于javascript - 如何在javascript中过滤数组内的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66065852/

相关文章:

javascript - 在通过模型传递的 View 上显示列表

javascript - 防止 React-Select 永远为空

javascript - Redux 表单不使用预加载的 CSS/JS

python - 在defaultdict中把一个元素放在正确的位置

c - 从 C 中的字符串中删除多余的空格

javascript - 是否允许在 `lang` 标签中使用 `style` 属性来标记 VueJS 的 CSS 预处理器语言?如果我们使用它有什么缺点吗?

javascript - 在滚动上输入任何部分元素时,有没有办法更改固定元素样式

javascript - Google Maps API v3 动态生成线条?

javascript - 需要迭代数组的方向

algorithm - 在数组中只出现一次的数字