2 回答

TA貢獻1827條經(jīng)驗 獲得超8個贊
我只是先把它弄平(第一個控制臺日志),除非你想要整個“外部”數(shù)組,在這種情況下只做.find兩次:
var data = [
[{
"Id": "123",
"Name": "Abc",
"Amount": 110000
},
{
"Id": "567",
"Name": "DEF",
"Amount": 98000
},
{
"Id": "345",
"Name": "XYZ",
"Amount": 145000
}
],
[{
"Id": "656",
"Name": "Abc",
"Amount": 110000
},
{
"Id": "223",
"Name": "DEF",
"Amount": 98000
},
{
"Id": "897",
"Name": "XYZ",
"Amount": 145000
}
]
];
var result = data.flat().filter(element => element.Id == "223");
console.log(result);
console.log(data.find(el => el.find(item => item.Id === "223")))

TA貢獻1864條經(jīng)驗 獲得超2個贊
您可以先使用.flat()數(shù)組data,然后對其進行簡單的過濾并搜索Id您想要的;或遞歸過濾數(shù)組,然后搜索Id您想要的。下面的片段演示了第二種方式
let result = data.map( array =>
array.filter( item => item.Id === "223" )
).flat();
var data =
[ [ { Id: '123', Name: 'Abc', Amount: 110000 }
, { Id: '567', Name: 'DEF', Amount: 98000 }
, { Id: '345', Name: 'XYZ', Amount: 145000 }
]
, [ { Id: '656', Name: 'Abc', Amount: 110000 }
, { Id: '223', Name: 'DEF', Amount: 98000 }
, { Id: '897', Name: 'XYZ', Amount: 145000 }
] ];
let result = data.map( array => array.filter( item => item.Id === "223" )).flat();
console.log(result);
添加回答
舉報