数组去重的方法

140 阅读1分钟

扩展字符串和set去重的方法

NAN也是要去重NAN=!NAN ;

let hd = new Set([1,2,3,4,5,6,4])
console.log(...hd)
//1 2 3 4 5 6
let hh = [1,2,3,4,5,6,1,2,3];
console.log([...new Set(hh)])
//[1,2,3,4,5,6]
//去除数组的重复成员
[...new Set(array)]

重复的另外一种方法

function dedupe(array) {
    return Array.from(new Set(array));
}
dedupe([1,2,3,4,5,3,4,5,6])
//[1,2,3,4,5,6]

字符串去重

[...new Set('abbccdbs')].join('')
//abcds

reduce和includes去重

let arr = [1,2,3,4,1,2,4]
let newArray = arr.reduce(function(arr,cur){
    if(arr.includes(cur) === false) {
        arr.push(cur)
    }
    return arr;
},[])
console.log(newArray)//[1,2,3,4]

const arr = [ { "value": 1, "label": "超级管理员" }, { "value": 2, "userState": 1, "label": "zhang" } ]
const newArr = arr.reduce(function (tempArr, item) {
    if (tempArr.findIndex((ele) => ele.id === item.id) === -1) {
        tempArr.push(item)
    }
    return tempArr
}, [])

Array.prototype.includes方法返回一个Boolean值,表示数组中是否包含给定的值。