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

2021-09-13 11:34:44 字數 522 閱讀 7813

題目描述

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

示例1

輸入

[false, true, undefined, null, nan, 0, 1, {}, {}, 『a』, 『a』, nan]

輸出

[false, true, undefined, null, nan, 0, 1, {}, {}, 『a』]

一道很有意思的題目,注意點很多。。。

首先: {}和{}是不相等的,nan和nan是不相等的,而示例中是排除了多個nan,只剩下乙個,而{}可以保留多個,所以通過flag和typeof雙重關卡來控制。

array.prototype.

uniq

=function()

}else}}

return resarr;

}

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

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

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

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 方法...

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

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