摘要:如果在中找不到,說明是第一個元素如果索引得到不是當(dāng)前元素索引,說明當(dāng)前元素是重復(fù)值中的方法。判斷數(shù)組中是否包含某個元素最容易想到的遍歷對象緩存
// 如果在ret中找不到el,說明是第一個元素 function unique(arr) { let ret = [] arr.forEach(function (element) { if (ret.indexOf(element) === -1) { ret.push(element) } }, this); return ret }
// 如果indexOf索引得到不是當(dāng)前元素索引,說明當(dāng)前元素是重復(fù)值 function unique(arr) { return arr.filter((el, index) => arr.indexOf(el) === index) }
// ES6中的方法。判斷數(shù)組中是否包含某個元素 function unique(arr) { let ret = [] arr.forEach(function (el) { if (!ret.includes(el)) ret.push(el) }) return ret }
// 最容易想到的遍歷 function unique(arr) { let ret = [], len = arr.length for(let i = 0; i < len; i++) { for(let j = i + 1; j < len; j++) { if(arr[j] === arr[i]) { j = ++i } } ret.push(arr[i]) } return ret }
// 對象緩存 function unique(arr) { let res = [] let obj = {} for(let t of arr) { if(!obj[t]) { res.push(t) obj[t] = 1 } } return res }
// Map function unique(arr) { let ret = [] let tmp = new Map() for(let i = 0; i < arr.length; i++) { if (!tmp.get(arr[i])) { tmp.set(arr[i], 1) ret.push(arr[i]) } } return ret }
// Set function unique(arr) { let set = new Set(arr) return Array.from(set) }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85058.html
距離上次發(fā)文,已經(jīng)有一段時間了,最近工作比較忙,這不眼看快雙十一了,就相當(dāng)于給大家一些福利吧! showImg(https://segmentfault.com/img/remote/1460000016538082?w=250&h=250); 一、什么是數(shù)組去重 簡單說就是把數(shù)組中重復(fù)的項刪除掉,你 GET 到了嗎 ?下面我將簡單介紹下幾種基本的方法及其優(yōu)缺點(diǎn)。 二、方法匯總 兩層循環(huán) 無相同...
摘要:前端學(xué)習(xí)教程開發(fā)模塊化規(guī)范化工程化優(yōu)化工具調(diào)試值得關(guān)注的博客面試前端資源匯總歡迎提斧正數(shù)組去重數(shù)組去重由慢到快由繁到簡演化去重寫法,箭頭函數(shù)為新寫法。在去重過程中,原數(shù)組都是不變的。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。 前端學(xué)習(xí):教程&開發(fā)模塊化/規(guī)范化/工程化/優(yōu)化&工具/調(diào)試&值得關(guān)注的博客/Git&面試-前端資源匯總 歡迎提issues斧正:數(shù)組去重 JavaSc...
摘要:方法一因為是從開始的方法二獲取怎么實現(xiàn)和截取考察的用法。翻轉(zhuǎn)字符串和刪除數(shù)組的第一元素將字符串轉(zhuǎn)化為數(shù)組。將數(shù)組進(jìn)行翻轉(zhuǎn)。將數(shù)組轉(zhuǎn)換為字符串。被刪除的第一個元素刪除后的數(shù)組數(shù)組去重如果找到不到就把放到新數(shù)組里 1.運(yùn)算題的結(jié)果 var name=jay var pe={ name:kang, getname:function () { ...
摘要:寫在前面專題系列是我寫的第二個系列,第一個系列是深入系列。專題系列自月日發(fā)布第一篇文章,到月日發(fā)布最后一篇,感謝各位朋友的收藏點(diǎn)贊,鼓勵指正。 寫在前面 JavaScript 專題系列是我寫的第二個系列,第一個系列是 JavaScript 深入系列。 JavaScript 專題系列共計 20 篇,主要研究日常開發(fā)中一些功能點(diǎn)的實現(xiàn),比如防抖、節(jié)流、去重、類型判斷、拷貝、最值、扁平、柯里...
摘要:專題系列第三篇,講解各種數(shù)組去重方法,并且跟著寫一個前言數(shù)組去重方法老生常談,既然是常談,我也來談?wù)?。它類似于?shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。 JavaScript 專題系列第三篇,講解各種數(shù)組去重方法,并且跟著 underscore 寫一個 unique API 前言 數(shù)組去重方法老生常談,既然是常談,我也來談?wù)劇?雙層循環(huán) 也許我們首先想到的是使用 indexOf 來循...
閱讀 1862·2021-11-22 15:24
閱讀 1316·2021-11-12 10:36
閱讀 3219·2021-09-28 09:36
閱讀 1848·2021-09-02 15:15
閱讀 2762·2019-08-30 15:54
閱讀 2400·2019-08-30 11:02
閱讀 2400·2019-08-29 13:52
閱讀 3549·2019-08-26 11:53