摘要:數(shù)組去重的方法第一種方法方法可以將結(jié)構(gòu)轉(zhuǎn)為數(shù)組這就是提供了一種數(shù)據(jù)去重的方法第二種方法運(yùn)用擴(kuò)展運(yùn)算符提供了一種更便捷的去重方法第三種方法這是一種原生的去重方法,借助一個(gè)空數(shù)組來實(shí)現(xiàn)去重,便于理解底層原理函數(shù)帶有參數(shù)第四種方法同上函數(shù)不帶參
數(shù)組去重的方法
第一種方法
Array.from方法可以將Set結(jié)構(gòu)轉(zhuǎn)為數(shù)組
let items = new Set([1, 2, 3, 4, 5]); let array = Array.from(items);
這就是提供了一種數(shù)據(jù)去重的方法
function uniq(array) { return Array.from(new Set(array)); } uniq([1, 2, 3, 3]) //[1, 2, 3]
第二種方法
運(yùn)用擴(kuò)展運(yùn)算符(...)提供了一種更便捷的去重方法
let arr = [2, 3, 3, 5, 6, 2]; let uniq = [...new Set(arr)]; //[2, 3, 5, 6]
第三種方法
這是一種原生JS的去重方法,借助一個(gè)空數(shù)組來實(shí)現(xiàn)去重,便于理解底層原理(xyz函數(shù)帶有參數(shù))
function xyz(arr) { let a= []; arr.forEach((item,index) => { a.indexOf(item) ===-1 ? a.push(item) : "" }) return a; } console.log(xyz([1,2,3,2,3])); //[1, 2, 3]
第四種方法
同上(xyz函數(shù)不帶參數(shù))
拓展:需要注意的一點(diǎn)就是此函數(shù)可以傳多個(gè)數(shù)組,但是要看arguments[index]
決定執(zhí)行哪個(gè)數(shù)組,默認(rèn)是執(zhí)行第一個(gè)。
function xyz() { let a= []; // Array.from(arguments[0]).forEach((item,index) => { // a.indexOf(item) ===-1 ? a.push(item) : "" // }) // Array.prototype 可以換成[] Array.prototype.forEach.call(arguments[1], (item,index) => { a.indexOf(item) ===-1 ? a.push(item) : "" }) return a; } console.log(xyz([1,2,3,2,3],[2,2,1])); //[1, 2, 3]
第五種方法
這是一種基于數(shù)組原型鏈的去重方法
Array.prototype.uniq = function() { let a= []; this.forEach((item,index) => { a.indexOf(item) ===-1 ? a.push(item) : "" }) return a; } console.log([1,2,1,3].uniq()); //[1, 2, 3]
這么多方法你知道哪幾種呢?
如需轉(zhuǎn)載請注明轉(zhuǎn)載處:牧碼人keephhh
https://www.keephhh.com/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/82937.html
摘要:首先來看一個(gè)例子我們知道基本數(shù)據(jù)類型有還有一種復(fù)雜數(shù)據(jù)類型基本類型不是對象從邏輯上講是不應(yīng)該有方法的其實(shí)為了讓我們能夠?qū)M(jìn)行相關(guān)操作后臺已經(jīng)自動完成了一系列的處理當(dāng)?shù)诙写a訪問時(shí)訪問過程處于一種讀取模式也就是從內(nèi)存中讀取這個(gè)字符串的值而在 首先來看一個(gè)例子 var s1 = some text; var s2 = s1.substring(2); var s3 = new Strin...
摘要:以下內(nèi)容編譯自他的這篇準(zhǔn)備下次編程面試前你應(yīng)該知道的數(shù)據(jù)結(jié)構(gòu)瑞典計(jì)算機(jī)科學(xué)家在年寫了一本書,叫作算法數(shù)據(jù)結(jié)構(gòu)程序。 國外 IT 教育學(xué)院 Educative.io 創(chuàng)始人 Fahim ul Haq 寫過一篇過萬贊的文章《The top data structures you should know for your next coding interview》,總結(jié)了程序員面試中需要掌...
摘要:以下內(nèi)容編譯自他的這篇準(zhǔn)備下次編程面試前你應(yīng)該知道的數(shù)據(jù)結(jié)構(gòu)瑞典計(jì)算機(jī)科學(xué)家在年寫了一本書,叫作算法數(shù)據(jù)結(jié)構(gòu)程序。 國外 IT 教育學(xué)院 Educative.io 創(chuàng)始人 Fahim ul Haq 寫過一篇過萬贊的文章《The top data structures you should know for your next coding interview》,總結(jié)了程序員面試中需要掌...
摘要:否則存入結(jié)果數(shù)組給本地對象增加一個(gè)原型方法,它用于刪除數(shù)組條目中重復(fù)的條目可能有多個(gè),返回值是一個(gè)包含被刪除的重復(fù)條目的新數(shù)組下面求中最大值正確的是為對象添加一個(gè)去除重復(fù)項(xiàng)的方法,得到去重后的數(shù)組 深度克隆 function clone(Obj) { var buf; if (Obj instanceof Array) { var buf = [];//...
摘要:前端面試每日題,以面試題來驅(qū)動學(xué)習(xí),每天進(jìn)步一點(diǎn)讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅(jiān)持的力量項(xiàng)目地址推薦歡迎跟一起折騰前端,系統(tǒng)整理前端知識,目前正在折騰,打算打通算法與數(shù)據(jù)結(jié)構(gòu)的任督二脈。 《論語》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來驅(qū)動學(xué)習(xí),每天進(jìn)步一點(diǎn)! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅(jiān)持 的力量!!! 項(xiàng)目...
閱讀 1699·2021-11-12 10:36
閱讀 1615·2021-11-12 10:36
閱讀 3442·2021-11-02 14:46
閱讀 3798·2019-08-30 15:56
閱讀 3533·2019-08-30 15:55
閱讀 1462·2019-08-30 15:44
閱讀 1044·2019-08-30 14:00
閱讀 2735·2019-08-29 18:41