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

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

获取指定集合

问题:

如何从 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 的元素。

以上就是如何从 JSON 数据中筛选出满足特定条件的集合?的详细内容,更多请关注硕下网其它相关文章!