摘要:去重真的是面試必考啊。下標判斷,也可以對象的鍵值還要先排序
js去重真的是面試必考啊。
es6 set
function duplicate(arr){ return [...new Set(arr)] }
indexOf下標判斷,lastIndexOf也可以
function duplicate2(arr){ let res=[]; arr.forEach((item)=>{ if(res.indexOf(item)==-1){ res.push(item) } }); return res; }
對象的鍵值
function duplicate3(arr) { let res=[],obj={}; arr.forEach((item)=>{ if(!obj[item]){ obj[item]=1; res.push(item) } }); return res }
includes
function duplicate4(arr){ let res=[]; arr.forEach(item =>{ res.includes(item) ? "" : res.push(item) }); return res }
filter+includes
function duplicate5(arr){ let res=[]; arr.filter(item=>{ return res.includes(item) ? "" : res.push(item) }); return res; }
還要先排序
function duplicate6(arr){ arr=arr.sort(); let res=[arr[0]]; arr.forEach(item =>{ if(item!==res[res.length-1]){ res.push(item) } }) }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/97493.html
摘要:三種方法利用判斷新數(shù)組中實際上也是使用的類似的傳入數(shù)組如果當前數(shù)組的第已經(jīng)保存進了臨時數(shù)組,那么跳過,否則把當前項到臨時數(shù)組里面利用判斷舊數(shù)組結(jié)果數(shù)組如果當前數(shù)組的第項在當前數(shù)組中第一次出現(xiàn)的位置不是,那么表示第項是重復的,忽略掉。 三種方法 利用indexOf判斷新數(shù)組 underscore.js中實際上也是使用的類似的indexOf //傳入數(shù)組 functio...
摘要:方法新特性方法利用對象名唯一方法利用數(shù)組包含方法排序比較兄弟元素方法雙循環(huán)比較 方法1:ES6新特性Set Array.prototype.rmSome = function() { return Array.from(new Set(this)); } 方法2:利用對象名唯一 Array.prototype.rmSome = function() { let te...
摘要:數(shù)組去重是校招面試的必考知識點。以下就是筆者所實現(xiàn)的數(shù)組去重的幾種簡單的方式。結(jié)合實現(xiàn)這種方法的關(guān)鍵點就是判斷是否相同的時候不要忽略對元素類型的判斷。以上就是筆者所想到的幾個數(shù)組去重的方式大家如果有更好的方法歡迎留言。 數(shù)組去重,是校招面試的必考知識點。簡單的說,數(shù)組去重就是將一個數(shù)組中的相同的元素刪除,只保留其中的一個。這里的相同其實是一個陷阱,有好多同學只認為值相等即為相同,而忽略...
摘要:去重的幾種方案雙層循環(huán)排序后比較相鄰元素是否相等壓入數(shù)組有限制,但效率高高性能數(shù)組去重 JS去重的幾種方案 new Set() 雙層for循環(huán) + splice Array.fliter + indexof Arroy.sort + 排序后比較相鄰元素是否相等壓入數(shù)組 for ... of + includes for ... of + object 有限制,但效率高 JS高性能數(shù)組...
閱讀 1899·2021-11-11 16:55
閱讀 2112·2021-10-08 10:13
閱讀 757·2019-08-30 11:01
閱讀 2171·2019-08-29 13:19
閱讀 3296·2019-08-28 18:18
閱讀 2633·2019-08-26 13:26
閱讀 590·2019-08-26 11:40
閱讀 1882·2019-08-23 17:17