Live2D

工作中,实用map给数组去重的详解

首先,先演示实例:

let arr = [1,2,2,4,null,null,'3','abc',3,5,4,1,2,2,4,null,null,'3','abc',3,5,4]
let map = new Map();
let newArr = [];
for (let i = 0; i < arr.length; i++) {
if (!map.has(arr[i])) {
map.set(arr[i], true);
newArr.push(arr[i]);
}
}
console.log(newArr)
 
最终输出的结果

 

 不难发现:这是利用Map的两个方法has,和set来判定数组中的每个元素(循环判定是否有该元素,没有的时候,set该元素为true。新数组再添加)

在输出一下构造函数Map:

 

 我们调用的是proto原型链上自带的set和has方法。这也算是给我们日常做数组去重(数据筛选)增加了一种新玩法吧!

 

ps:上班摸鱼不可怕,

  一摸一天不尴尬。

  等待需求不要紧,

  看看博客不伤心!

posted @ 2021-04-14 11:12  喻佳文  阅读(916)  评论(0编辑  收藏  举报