获取指定集合
问题:
如何从 json 数据中获取特定集合,例如 status 为 0 的集合 { “id”: 1, “name”: “alice”,age:[
{id:4,status:0}
] }?
回答:
为了获取不同 status 的集合,可以使用 JavaScript 的 Filter 方法进行筛选。
获取指定 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 的元素。