JS 中常用的去重

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JS 中常用的去重脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

第一种:indexOf (获取字符串值在字符串中首次出现的位置,若没有这个值,则返回-1)

let arr = [15,45,88,45,78,15,55,88];
    let arr1 = []; //声明新数组
    for(let i in arr){ //for...in 遍历数组
        if(arr1.indexOf(arr[i]) == -1){ 使用indexOf 判断arr1和arr 里面是否有相同的,没有就添加,有就不添加;
            arr1.push(arr[i]);
        }
    }
    console.LOG(arr1);

 第二种:双for循环 (每一个数据进行判断)

let arr = [15, 45, 88, 45, 78, 15, 55, 88];
for (let i = 0; i < arr.length; i++) {
        for (let j = i + 1; j < arr.length; j++) {
            if (arr[i] == arr[j]) { //判断是否遇到相同的元素
                arr.splice(j, 1);//遇到就删除一个元素
                j--; //数组的总长度发生了改变,进行j--
            }
        }
    }
    console.log(arr);

第三种:filter

let arr = [15, 45, 88, 45, 78, 15, 55, 88];
    function fn(arr){
        return arr.filter((ITem,index,arr)=>{
            return arr.indexOf(item,0) === index; //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
        });
    }
    console.log(fn(arr));

 四种Set (ES6)

    let arr = [15, 45, 88, 45, 78, 15, 55, 88];
	let s = new Set(arr) //实现数组去重,但不是数组类型
    arr = [...new Set(arr)]; //转为arrAry类型
    console.log(arr);

第五种:[...new Set(arrAry)]  (ES6)

let arr = [15, 45, 88, 45, 78, 15, 55, 88];
arr = [...new Set(arr)];
console.log(arr);

 

脚本宝典总结

以上是脚本宝典为你收集整理的JS 中常用的去重全部内容,希望文章能够帮你解决JS 中常用的去重所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。