javascript数组去重

Posted damon35868

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript数组去重相关的知识,希望对你有一定的参考价值。

1.使用空数组利用indexOf去重

  - 首先定义一个空数组

    - 然后循环遍历数组逐个对比新数组中是否存在该值,如果不存在则push

1 var arr = [1,1,1,2,2,2,3,3,3];
2 var nArr = [];
3 
4 for(let i=0; i<arr.length;i++){
5   if(nArr.indexOf(arr[i]) === -1) nArr.push(arr[i]);      
6 }

 

2.循环嵌套去重法

  - 两个循环嵌套for去判断每个值和其他值是否相同,如果相同则删除,此操作直接在原数组中删除

var arr = [1,1,1,2,2,2,3,3,3];
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--;
            }
      }
}

3.对象属性不可重复去重法

  - 利用对象属性不能重复的机制去判断数组是否重复

var arr = [1,1,1,2,2,2,3,3,3];

var nArr= [];
     var  obj = {};
    for (var i = 0; i < arr.length; i++) {
        if (!obj[arr[i]]) {
            nArr.push(arr[i])
            obj[arr[i]] = 1
        } else {
            obj[arr[i]]++
        }
    }

 

 

 

以上是关于javascript数组去重的主要内容,如果未能解决你的问题,请参考以下文章

javaScript常见的五种数组去重(转载)

JavaScript数组中包含数组如何去重?

javascript常用代码片段

javascript数组去重 js数组去重

javaScript数组去重方法

JavaScript之数组去重