Hello! 欢迎来到小浪资源网!



如何从 JSON 数据中筛选出满足特定条件的集合?


avatar
1986424546 2024-11-15 29

如何从 JSON 数据中筛选出满足特定条件的集合?

获取指定集合

问题:

如何从 json 数据中获取特定集合,例如 status 为 0 的集合 { “id”: 1, “name”: “alice”,age:[
{id:4,status:0}
] }?

回答:

为了获取不同 status 的集合,可以使用 JavaScriptFilter 方法进行筛选。

获取指定 status 的集合

要获取特定 status 的集合,例如 status 为 0,可以使用以下代码:

const data = [   { "id": 1, "name": "alice", age: [{ id: 4, status: 0 }] },   { "id": 2, "name": "bob", age: [{ id: 4, status: 1 }] },   { "id": 3, "name": "charlie", age: [{ id: 4, status: 1 }] } ];  const status0 = data.filter(item => item.age.some(a => a.status === 0)); console.log(status0);

更复杂的场景

如果需要筛选包含特定 status 的 age 元素,可以使用以下方法:

// 获取包含 status 为 0 的 age 元素的集合 const status0 = data.map(item => ({   ...item,   age: item.age.filter(a => a.status === 0) })).filter(item => item.age.length > 0);  console.log(status0);  // 获取包含 status 为 1 的 age 元素的集合 const status1 = data.map(item => ({   ...item,   age: item.age.filter(a => a.status === 1) })).filter(item => item.age.length > 0);  console.log(status1);

这种方法可以确保只返回 age 中包含特定 status 的元素。

相关阅读