Js陣列去重方法總結

2021-09-22 02:33:03 字數 2623 閱讀 4666

//方法一

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

function removeduplicateditem(arr) }}

return arr;

}arr2 = removeduplicateditem(arr);

console.log(arr);

console.log(arr2);

//方法二

//借助indexof()方法判斷此元素在該陣列中首次出現的位置下標與迴圈的下標是否相等

var ar = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

function rep2(arr)

}return arr;

}var a1 = rep2(ar);

console.log(ar);

console.log(a1);

//方法三  利用陣列中的filter方法

var r = arr.filter(function(element,index,self));

console.log(r);

//方法四  借助新陣列 通過indexof方判斷當前元素在陣列中的索引如果與迴圈的下標相等則新增到新陣列中

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

function rep(arr)

}return ret;

}arr2 = rep(arr);

console.log(arr);

console.log(arr2);

//方法五 利用空物件來記錄新陣列中已經儲存過的元素

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

var o={};

var new_arr=;

for(var i=0;i}console.log(new_arr);

//方法六 借助新陣列  判斷新陣列中是否存在該元素如果不存在則將此元素新增到新陣列中

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

array.prototype.rearr = function()

}return newarr;

}var arr2 = arr.rearr();

console.log(arr); //[ 1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5 ]

console.log(arr2);//[ 1, 23, 3, 5, 6, 7, 9, 8 ]

//方法七(原陣列長度不變但被按字串順序排序) 借助新陣列  判斷新陣列中是否存在該元素如果不存在則將此元素新增到新陣列中

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

function removerepele(ar)

}return ret;

}arr2 = removerepele(arr);

console.log(arr);//[ 1, 1, 1, 1, 23, 23, 3, 5, 5, 6, 7, 8, 9, 9 ]

console.log(arr2);//[ 1, 23, 3, 5, 6, 7, 8, 9 ]

//方法八(此方法沒有借助新陣列直接改變原陣列,並且去重後的陣列被排序)

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

function removerepele(ar) else

}return ar;

}arr2 = removerepele(arr);

console.log(arr); //[ 1, 23, 3, 5, 6, 7, 8, 9 ]

console.log(arr2);//[ 1, 23, 3, 5, 6, 7, 8, 9 ]

//方法九(雙層迴圈改變原陣列)

var arr = [1, 1, 1, 3, 4, 4, 4, 5, 5, 5, 5, 4, 6];

function removearrayrepelement(arr)}}

return arr;

}var arr2 = removearrayrepelement(arr);

console.log(arr); //[ 1, 3, 4, 5, 6 ]

console.log(arr2);//[ 1, 3, 4, 5, 6 ]

//方法十(借助新陣列)

var arr = [12, 2, 44, 3, 2, 32, 33, -2, 45, 33, 32, 3, 12];

var newarr = ;

for (var i = 0; i < arr.length; i++)

}if (reparr.length == 0)

}console.log(newarr);//[ 44, 2, -2, 45, 33, 32, 3, 12 ]

js陣列去重方法總結

暴力去重,利用迴圈每次判斷當前元素是否在陣列中別的地方出現過,此處不展開介紹 利用 es6 的 set 是不重複集合的特性 function reducerepeatbyset arr 利用object的key不能重複的特性 function reducerepeatbyobject arr let...

js陣列去重方法總結

1.es6中的set去重 語法new set 要去重的陣列 返回乙個陣列 eg var arr1 1,3,4,1,4,5,7,nan,true,null,true,hahah kk hahah nan,null var arr2 new set arr1 console.log arr1 conso...

JS 陣列去重的方法總結

最近,在面試題中經常能夠看到陣列去重這個題目,這道題目其實很簡單,可以有多種方法解答。為了開闊自己的思維,特意去網上查了一下相關的方法,特意總結下來。function uniquebyindexof arr return newarr function getuniqearray arr if j ...