let newArr = [...new Set(arr)]; // [1, 2, 4, null, "3", "abc", 3, 5] let newArr = Array.from(new Set(arr)); // [1, 2, 4, null, "3", "abc", 3, 5] let newStr = [...new Set('ababbc')].join('') // 'abc'
9. new MapES6 提供了新的数据结构 Map。类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。
get方法读取key对应的键值,如果找不到key,返回undefined。
has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
let map = new Map(); let newStr = []; for (let i = 0; i < arr.length; i++) { if (!map.has(arr[i])) { map.set(arr[i], true); newStr.push(arr[i]); } } console.log(newArr) // [1, 2, 4, null, "3", "abc", 3, 5]
总结到此这篇关于JS数组去重的九种高阶方法的文章就介绍到这了,更多相关JS数组去重内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章: