JavaScript 陣列去重的幾種方法

2021-08-28 19:26:39 字數 2547 閱讀 9304

改變原陣列

var arr=['h','e','l','l','l','o','2',1,2,2,2,1,3,2];

for(var i=0; i=i+1; j--)

}}//[ "h", "e", "l", "o", "2", 1, 2, 3 ]

console.log(arr);

會改變原陣列以及陣列元素順序

var arr=['h','e','l','l','o','2',1,2,1,3,2];

arr.sort(function(a,b) );

for(var i=0; i不改變原陣列,利用新陣列儲存去重後的陣列。

/*補充知識

*/ 返回資料型別

//在物件中如:

var obj_temp=

console.log(obj_temp[1]); // hello

console.log(obj_temp['1']);// hello

console.log(object.prototype.tostring.call(1)); // [object number]

console.log(object.prototype.tostring.call('1')); // [object string]

//以上結果可以得出,會分不清1和'1',因此下面需要使用object.prototype.tostring.call()。

//去重

var arr=['h','e','l','l','o','2',1,2,1,3,2];

var quchong=;

var obj={};

for(var i=0; iindexof():判斷此元素在該陣列中首次出現的位置下標與迴圈的下標是否相等。

1)for迴圈。    不改變原陣列,利用新陣列儲存去重後的陣列。

var arr=['h','e','l','l','o','2',1,2,1,3,2];

var quchong=;

for(var i=0; i2)filter()方法。    不改變原陣列,利用新陣列儲存去重後的陣列。

var arr=['h','e','l','l','o','2',1,2,1,3,2];

var quchong=;

//方式一:

quchong = arr.filter(function(item,index,array) );

console.log(quchong); // [ "h", "e", "l", "o", "2", 1, 2, 3 ]

//方式二:

quchong = arr.filter(function(item,index,array) );

console.log(quchong); // [ "h", "e", "l", "o", "2", 1, 2, 3 ]

3)foreach()方法。    不改變原陣列,利用新陣列儲存去重後的陣列。

var arr=['h','e','l','l','o','2',1,2,1,3,2];

var quchong=;

arr.foreach(function(item,index,array)

});console.log(quchong); // [ "h", "e", "l", "o", "2", 1, 2, 3 ]

4)map()方法。    不改變原陣列,利用新陣列儲存去重後的陣列。

var arr=['h','e','l','l','o','2',1,2,1,3,2];

var quchong=;

arr.map(function(item, index, array)

})console.log(quchong); // [ "h", "e", "l", "o", "2", 1, 2, 3 ]

set資料結構,它類似於陣列,其成員的值都是唯一的。

1)利用array.from將set結構轉換成陣列。  不改變原陣列,利用新陣列儲存去重後的陣列。

var arr=['h','e','l','l','o','2',1,2,1,3,2];

var quchong=;

function quchong_fnc(arr)

quchong = quchong_fnc(arr);

console.log(quchong); // [ "h", "e", "l", "o", "2", 1, 2, 3 ]

2)拓展運算子(...)內部使用for...of迴圈。  不改變原陣列,利用新陣列儲存去重後的陣列。

var arr=['h','e','l','l','o','2',1,2,1,3,2];

var quchong=;

function quchong_fnc(arr)

quchong = quchong_fnc(arr);

console.log(quchong); // [ "h", "e", "l", "o", "2", 1, 2, 3 ]

JavaScript 陣列去重

陣列去重,一般都是在面試的時候才會碰到,一般是要求手寫陣列去重方法的 如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。在真實的專案中碰到的陣列去重,一般都是後台去處理,很少讓前端處理陣列去重。雖然日常專案用到的概率比較低,但還是需要了解一下,以防面試的時候可能...

Javascript陣列去重

set是es2015引入的資料型別,意為集合 其不允許重複元素出現的特性,對於nan undefined null都適用 set是es2015引入的資料型別,意為集合 其不允許重複元素出現的特性,對於nan undefined null都適用 function unique arr var arr ...

JavaScript陣列去重

例1定義乙個簡單的一維陣列 let myarr 0 1,3 2,4 3,3 4,5 6,1 7,8 方法一 使用es6的set let myarr 0 1,3 2,4 3,3 4,5 6,1 7,8 let result newset myarr sort a,b console.log resul...