Home > Web Front-end > JS Tutorial > 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)

不言
Release: 2018-08-13 10:55:43
Original
3653 people have browsed it

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;
            }
Copy after login

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;
            }
Copy after login

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;
           }
Copy after login

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;
        }
Copy after login

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);
            }
        }
Copy after login

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;
        }
Copy after login
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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template