数组去重

it2024-04-16  45

一、for循环嵌套,利用splice去重

function newArr(arr){ for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ //如果第一个等于第二个,splice方法删除第二个 arr.splice(j,1); j--; } } } return arr; } var arr = [1,1,2,5,6,3,5,5,6,8,9,8]; console.log(newArr(arr))

二、建新数组,利用indexOf去重

function newArr(array){ //一个新的数组 var arrs = []; //遍历当前数组 for(var i = 0; i < array.length; i++){ //如果临时数组里没有当前数组的当前值,则把当前值push到新数组里面 if (arrs.indexOf(array[i]) == -1){ arrs.push(array[i]) }; } return arrs; } var arr = [1,1,2,5,5,6,8,9,8]; console.log(newArr(arr))

三、ES6中利用Set去重

function newArr(arr){ return Array.from(new Set(arr)) } var arr = [1,1,2,9,6,9,6,3,1,4,5]; console.log(newArr(arr))

四,利用数组中的filter方法

var arr = ["apple","banana","pear","apple","orange","orange"]; console.log(arr); var arr2 =arr.filter(function(value,index,self){ return self.indexOf(value) ===index; }); console.log(arr2); //["apple", "banana", "pear", "orange"]
最新回复(0)