当前位置:家常菜>百科>科技>正文

数组去重的5种方法

人气:486 ℃/2023-11-20 06:07:58

数组去重的5种方法是什么呢?下面就让我们一起来了解一下吧:

数组去重的5种方法分别是使用“Array.from(new Set(arr))”去重;利用for嵌套for,接着使用splice()方法去重;利用indexOf()方法去重;利用includes()方法去重;利用filter()方法去重。

参考范例:

1、使用“Array.from(new Set(arr))”去重。

示例代码为:

var arr = [1,1,8,8,12,12,15,15,16,16];

function unique (arr) {

  return Array.from(new Set(arr))

}

console.log(unique(arr))

 //[1,8,12,15,16]

2、利用for嵌套for,接着使用splice()方法去重。

示例代码为:

var arr = [1, 1, 8, 8, 12, 12, 15, 15, 16, 16];

function unlink(arr) {

    for (var i = 0; i < arr.length; i++) {    // 首次遍历数组

        for (var j = i + 1; j < arr.length; j++) {   // 再次遍历数组

            if (arr[i] == arr[j]) {          // 判断连个值是否相等

                arr.splice(j, 1);           // 相等删除后者

                j--;

            }

        }

    }

    return arr

}

console.log(unlink(arr));

3、利用indexOf()方法去重。

示例代码:

var arr = [1, 1, 8, 8, 12, 12, 15, 15, 16, 16];

function unlink(arr) {

    if (!Array.isArray(arr)) {

        console.log('错误!')

        return

    }

    var array = [];

    for (var i = 0; i < arr.length; i++) {    // 首次遍历数组

        if (array.indexOf(arr[i]) === -1) {   // 判断索引有没有等于

            array.push(arr[i])

        }

    }

    return array

}

console.log(unlink(arr));

4、利用includes()方法去重。

示例代码:

var arr = [1, 1, 8, 8, 12, 12, 15, 15, 16, 16];

function unique(arr) {

    if (!Array.isArray(arr)) {

        console.log('type error!')

        return

    }

    var array =[];

    for(var i = 0; i < arr.length; i++) {

            if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值

                    array.push(arr[i]);

              }

    }

    return array

}

console.log(unique(arr))

5、利用filter()方法去重。

示例代码:

var arr = [1, 1, 8, 8, 12, 12, 15, 15, 16, 16];

function unlink(arr) {

    return arr.filter(function (item, index, arr) {

        //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素

        return arr.indexOf(item, 0) === index;

    });

}

console.log(unlink(arr));

  • 幼儿园端午节放假通知范文

    幼儿园端午节放假通知怎么写呢?一起来看看小编今天的分享吧。幼儿园端午节放假通知可以从三个方面进行描写,首先要写明放假的具体时间是几号到几号,第二个就是要写明放假期间的具体安排,...

    教育查看全文>>
  • 英朗和上汽大众斯柯达昕锐怎么选 哪个更值得入手?

    英朗和昕锐的外观都是比较年轻化的,而且车型看起来也比较动感以及时尚,很多人就会在这两款车中间难以抉择。英朗和昕锐哪个好 哪款车更值得入手1、外观方面英朗外观方面,新车换装了别克...

    问答查看全文>>
  • 祝福老师国庆节快乐的句子

    1、国庆假期到了,心情转变妙了,烦心事儿少了,休闲时间多了,旅游时刻到了,四处走走美了,压力郁闷消了,祝你脸上笑了,读读乐了。祝国庆节快乐!2、生命中的快乐,有谁愿意拒绝,有谁...

    祝福语查看全文>>
  • 汽车脚垫应不应该装?

    汽车脚垫应该装的:1、汽车脚垫的尺码与爱车的大小是否合适,尺寸过大或者过小都会在刹车过程中导致脚垫移位,一旦你的刹车踏板被汽车脚垫卡住就可能引发恶******通事故;2、汽车脚垫并不是...

    问答查看全文>>
  • 2022年做人的道理人生感悟

    1、不管好事还是坏事,自己看清楚就足够了,做人要低调。2、阿明哥说后无情的人很多,后很多的人道德太缺失,现在这个社会很多人的道德底线太低。主要是管好自己,做人要问心无愧。3、讲...

    句子查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版