删除重复项并在JavaScript中映射数组
假设我们有一个像这样的对象数组-
const arr = [ {id:123, value:"value1", name:"Name1"}, {id:124, value:"value2", name:"Name1"}, {id:125, value:"value3", name:"Name2"}, {id:126, value:"value4", name:"Name2"} ];
请注意,数组内对象中的某些“名称”属性是重复的。
我们需要编写一个JavaScript函数,该函数接受一个这样的对象数组。然后,该函数应构造一个新的字符串数组,其中仅包含该数组中唯一的“名称”属性值。
因此,上述输入的输出应如下所示:
const output = ["Name1", "Name2"];
示例
为此的代码将是-
const arr = [ {id:123, value:"value1", name:"Name1"}, {id:124, value:"value2", name:"Name1"}, {id:125, value:"value3", name:"Name2"}, {id:126, value:"value4", name:"Name2"} ]; const pickNames = (arr = []) =>{ const res = []; for (let i = arr.length; i−−;){ if (res.indexOf(arr[i].name) < 0) { res.push(arr[i].name); }; } return res; }; console.log(pickNames(arr));
输出结果
控制台中的输出将是-
[ 'Name2', 'Name1' ]