使用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"]
扫描二维码,在手机上阅读
推荐阅读: