多层过滤多维数组,提取符合条件的jr_team成员names字段
提取多维数组中符合条件的成员名称
原始数据
const teamsData = [{ "sr_team": [{ "classifications": "BPO", "email": "maynard_gregory@example.com", "names": "Maynard Gregory" }], "jr_team": [{ "names": "Mr. Curtis Zemlak I", "email": "curtis_zemlak@example.com", "available": false }, { "names": "Prof. Naomi Eichmann II", "email": "naomi_eichmann@example.com", "available": true }] }, { "sr_team": [{ "classifications": "Tech", "email": "olivia_dawson@example.com", "names": "Olivia Dawson" }], "jr_team": [{ "names": "Benjamin George", "email": "benjamin_george@example.com", "available": true }] }];
实现代码
const availableJrMembers = teamsData.flatMap(team => team.jr_team .filter(member => member.available === true) .map(member => member.names) ); console.log(availableJrMembers); // 输出: ["Prof. Naomi Eichmann II", "Benjamin George"]
逻辑说明
- flatMap:遍历外层数组的每个团队对象,同时将内层处理结果扁平化,避免生成嵌套数组
- filter:筛选出
jr_team中available字段为true的成员 - map:从筛选后的成员中提取
names字段,得到最终的名称数组
内容的提问来源于stack exchange,提问作者Tom
相关产品推荐
相关产品推荐

