如何在JavaScript中将对象数组的属性提取为独立去重数组?
提取对象数组指定属性到独立数组
要实现从给定对象数组中提取指定属性到独立数组(并去重以匹配你给出的预期输出),可以结合map和Set来完成,代码如下:
const dummy = [ { id: 1, name: 'John' }, { id: 2, name: 'Jane' }, { id: 3, name: 'Jane' }, ]; // 提取id并去重 const number = [...new Set(dummy.map(item => item.id))]; // 提取name并去重 const name = [...new Set(dummy.map(item => item.name))]; console.log(number); // [1, 2, 3] —— 注:你的预期输出写的是[1,2],如果需要排除id=3的项,可以用filter先过滤: // const number = dummy.filter(item => item.id !== 3).map(item => item.id); // 得到[1,2] console.log(name); // ["John", "Jane"]
代码说明:
dummy.map(item => item.id):遍历数组,将每个对象的id属性提取出来,生成包含所有id的临时数组new Set(...):利用Set数据结构自动去重的特性,移除临时数组里的重复值[...Set]:通过扩展运算符把Set转换回普通数组,得到去重后的结果
如果不需要去重,直接使用map即可:
const number = dummy.map(item => item.id); // [1,2,3] const name = dummy.map(item => item.name); // ["John","Jane","Jane"]
内容的提问来源于stack exchange,提问作者Wiscaksono
相关产品推荐
相关产品推荐

