我的数组中有以下嵌套对象,我想过滤结果以返回特定项目的 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/