«

使用map()和Set从对象数组中获取特定键并去重数组

时间:2023-8-29 11:27     作者:六思逸     分类: JavaScript


代码展示

// 定义一个函数,名为 mapdata,接受两个参数:arr 和 key
function mapdata(arr, key) {
  // 使用 map() 方法遍历输入的数组 arr
  // map() 方法返回一个新数组,其结果是数组中的每个元素调用一个提供的函数后返回的结果
  let keyarr = arr.map(obj => obj[key]);
  // 在 map() 函数中,传入一个对象作为参数 obj,返回 obj[key] 的值
  // 这样就得到了一个新的数组 keyarr,其中包含了所有对象中指定键的值
  // 注意:这里假设 arr 中的每个对象都包含 key 键
  // 使用 Set 对象对 keyarr 进行去重  
  // Set 是一种数据结构,它只存储唯一的值,相同的值会被自动合并
  // 通过扩展运算符(...)将 Set 对象转换回数组
  return [...new Set(keyarr)];
}

使用案例

let data = [  
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob" },
  { id: 3, name: "Alice" },
  { id: 4, name: "Charlie" }
];

let names = mapdata(data, "name"); // ["Alice", "Bob", "Charlie"]

标签: 使用map()和Set获取对象数组特定键的去重数组

版权所有:六思逸
文章标题:使用map()和Set从对象数组中获取特定键并去重数组
除非注明,文章均为 六思逸 原创,转载请注明作者和出处 六思逸

扫描二维码,在手机上阅读

推荐阅读: