我得到一个如下所示的 JSON 数据源:
[
{
"id": 1,
"name": 'name',
"array": [
{ "id": 1}, { "id": 2}
]
},
{...}
]
我想根据
array
中包含的 id 过滤此数据。
但我不知道如何使用 array.filter 和 include 来做到这一点。你能帮我吗?
您可以通过以下方式实现上述内容的过滤:
let data = [
{
"id": 1,
"name": 'name',
"array": [
{ "id": 1}, { "id": 2}
]
},
];
let idToFind = 1;
let filteredData = data.filter(item => {
return item.array.some(innerItem => innerItem.id === idToFind);
});
console.log(filteredData);
filter
用于遍历 data
数组中的每个项目。对于每个项目, some
方法用于检查 array
字段中是否存在 id
等于 idToFind
的对象。如果有,则该项目包含在 filteredData
数组中。