工作中,实用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:上班摸鱼不可怕,
一摸一天不尴尬。
等待需求不要紧,
看看博客不伤心!