為Array物件新增乙個去除重複項的方法

2021-09-03 01:20:08 字數 723 閱讀 6737

[false, true, undefined, null, nan, 0, 1, {}, {}, 'a', 'a',  nan].uniq()
[false, true, undefined, null, nan, 0, 1, {}, {}, 'a']
array.prototype.uniq = function ()  else 

});return arr;

}

我們只需要在陣列上直接呼叫 uniq 方法就可以了,如:
[false, true, undefined, null, nan, 0, 1, {}, {}, 'a', 'a',  nan].uniq()
結果為:

[false, true, undefined, null, nan, 0, 1, {}, {}, 'a']
array.prototype.uniq = function()
**中用 array.from 把 set 結構轉換成陣列,當然,你也可以用其他方法, 這裡不深究。這裡去重關鍵**只需要一行,是不是非常簡單???

如果你要優雅一點,可以使用 es6 的擴充套件運算子。如下:

array.prototype.uniq = function()

為 Array 物件新增乙個去除重複項的方法

思路 第一步 先定義乙個空陣列用來存數值 var a 第二步 利用這個條件判斷 a indexof this i 1 此條件成立,就將當前陣列值放在空陣列a中 a push this i 不過這裡有乙個太特殊的nan,nan nan,利用indexof 方法不成立f,所以這裡我們需要做個判斷 if ...

為 Array 物件新增乙個去除重複項的方法

題目描述 為 array 物件新增乙個去除重複項的方法 示例1 輸入 false,true,undefined,null,nan,0,1,a a nan 輸出 false,true,undefined,null,nan,0,1,a 一道很有意思的題目,注意點很多。首先 和 是不相等的,nan和nan...

牛客 為 Array 物件新增乙個去除重複項的方法

關鍵是indexof的用法 indexof是判斷resarr陣列中的值和當前的值有沒有相同的,如果有相等的會返回那個位置,沒有相同的返回 1,這裡返回 1的意思是沒有相同的,也就是resarr陣列裡還沒有當前的數。再之後再遇到有相同的就不會返回 1了,也就不會繼續執行if裡面的了。array.pro...