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)
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!