Home  >  Article  >  Web Front-end  >  What are the methods to remove duplicates from js arrays? Summary of five methods to deduplicate js arrays (with code)

What are the methods to remove duplicates from js arrays? Summary of five methods to deduplicate js arrays (with code)

不言
不言Original
2018-08-13 10:55:433601browse

There are many ways to remove duplicate data from js arrays. The following article will introduce you to five ways to remove duplicate data from js arrays. It has certain reference value and I hope it will be helpful to everyone.

JS Method 1 to implement array deduplication: use splice() method and double-layer for loop (somewhat similar to selection sort)

            function norepeat(arr){
                for(var i = 0;i < arr.length-1;i++){
                    for(var j = i+1;j<arr.length;j++){
                        if(arr[i] == arr[j]){
                            arr.splice(j,1);
                            j--;
                        }
                    }
                }
                return arr;
            }

Note: If you do not add j--, you will delete a number and skip a number. Note: If you do not add j--, you will skip a number after deletion.

The second way to implement array deduplication in js (double-layer for loop): low efficiency, will add a lot of useless loop comparisons

  function norepeat(arr){
                var newArr = arr;
                for(var i = newArr.length;i > 0 ; i--){
                    for(var j = 0; j<i ; j++){
                        if(newArr[i] == newArr[j]){
                            newArr.splice(i,1);
                        }
                    }
                }
                return arr;
            }

js implementation Method 2 for array deduplication: Use ES5’s new indexOf() and push() methods (very simple and easy to understand)

   function norepeat(arr){
              var newarr = [];
              for(var i in arr){
                  if(newarr.indexOf(arr[i]) == -1){
                      newarr.push(arr[i]);
                  }
              }
              return newarr;
           }

js to implement array deduplication Method 3: First use sort to sort and then compare whether adjacent ones are equal. If they are equal, delete ##

   function norepeat(arr) {
            arr.sort(function (a, b) { return a - b; });
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] == arr[i + 1]) {
                    arr.splice(i, 1);
                    i--;
                }
            }
            return arr;
        }

Note: without i-- will After deletion, skip a number

JS method 4 to implement array deduplication: Use array subscripts that cannot be repeated. First convert the value in the parameter into an array subscript, and then convert the subscript Reconvert into values ​​(a great idea)

  function norepeat(arr){
            var newArr = [];
            var arrs = [];
            for(var i=0;i<arr.length;i++){
                var a = arr[i];
                newArr[a] = 1;
            }
            for(var i in newArr){
                arrs[arrs.length] = i;
                console.log(i);
            }
        }

The fifth method of js to achieve array deduplication can also be implemented

  var arr = [6, 1, 1, 2, 1, 2, 1, 1, 3, 1, 1, 1, 4, 15];
        function norepeat(arr) {
            var arrcopy = [];
            for (var i = 0; i < arr.length; i++) {
                var count = 0;
                for (var j in arrcopy) {
                    if (arrcopy[j] != arr[i]) {
                        count++;
                    }
                }
                console.log(arrcopy);
                if (count == arrcopy.length) {
                    arrcopy[arrcopy.length] = arr[i];
                }
            }
            return arrcopy;
        }

Related recommendations:

What are the implementation methods of JS modularization? Explanation of js modularization

#What are the methods to achieve array deduplication in js? A brief introduction to js array deduplication method

The above is the detailed content of What are the methods to remove duplicates from js arrays? Summary of five methods to deduplicate js arrays (with code). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn