如何使用字符串数组过滤对象数组 仅保留指定key对应属性
你可以通过数组遍历+属性提取的方式实现需求,以下是两种常用实现方案:
方案1:动态适配wantedKeys(推荐)
完全以wantedKeys数组的配置为准,后续调整要保留的属性时不需要修改处理逻辑,通用性最强:
const peopleFiltered = people.map(person => { // 对每个用户对象,只收集wantedKeys中指定的属性 return wantedKeys.reduce((newObj, key) => { newObj[key] = person[key] return newObj }, {}) })
方案2:静态解构(适合属性固定场景)
如果wantedKeys的内容不会变更,可以用解构赋值写得更简洁:
const peopleFiltered = people.map(({ name, age, country }) => ({ name, age, country }))
两种方案都不会修改原people数组,返回的是全新的对象数组,符合预期输出要求。
内容的提问来源于stack exchange,提问作者ARNON
相关产品推荐
相关产品推荐

