- 将数组每一位作为对象属性,输出对象属性名。具体实现如下
function arrUnique(arr) { let obj = {} arr.forEach((item) => { if (obj[item]) { return } else { obj[item] = 1 } }) let uniArr = Object.keys(obj) return uniArr; }
- 循环遍历数组,利用includes或者indexOf判断。具体实现
function arrUnique(arr) { arr.sort((a, b) => a - b); let uniArr = [] arr.filter((item, index, arr) => { if (!uniArr.includes(item)) { uniArr.push(item) } }) return uniArr; }
- 利用reduce,设置initial Value值为空数组。具体实现
function arrUnique(arr) { return arr.reduce((pre, cur) => { if (pre.includes(cur)) { return pre } else { return pre.concat(cur) } }, []) }
- 利用ES6中Set数据结构特性。(一行代码的真香现场......)。具体实现
function arrUnique(arr) { return [...new Set(arr)]; }
JS实现数组去重的四种方式
最新推荐文章于 2024-06-01 07:27:22 发布