摘要:數組去重在前端工作中是必不可少的,接下來我就總結了個人常用的幾種方式一環境書寫傳統方式效率不是是很高通過模擬的存儲方式效率優于通過判斷數組元素第一次出現的位置是否為當前位置來實現效率是的兩倍,推薦從第二項開始遍歷如果當前數組元素在數組中
數組去重在前端工作中是必不可少的,接下來我就總結了個人常用的幾種方式
一. ES5環境書寫 1. 傳統方式:效率不是是很高var data = [1,3,2,1,2]; Array.prototype.unique = function(){ for(var i=0,arr=[],len=this.length;i2.通過模擬map的hash存儲方式:效率優于1 var data = [1,3,2,1,2]; Array.prototype.unique = function(){ for(var i=0,r={},n=[],len=this.length;i3.通過indexOf判斷數組元素第一次出現的位置是否為當前位置來實現:效率是2的兩倍,推薦 var data = [1,3,2,1,2]; Array.prototype.unique = function(){二. ES6環境
var arr = [this[0]];
//從第二項開始遍歷 for(var i=1,len=this.length;i//如果當前數組元素在數組中出現的第一次位置不是i,說明是重復元素 if(this.indexOf(this[i]) == i) arr.push(this[i]); } return arr; }; console.log(data.unique()); 通過Set數據結構中,無重復元素的特性來實現:比較推崇
var data = [1,3,2,1,2]; let arr = [...new Set(data)]; console.log(arr);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88683.html
摘要:引子數組去重是一個老生常談的話題,在面試中也經常會被問道。其中如果數組是排序的,去重運算效率更高,因為排序能夠將相同的數排列在一起,方便前后比較。當數組有序對于對象的去重,我們知道為,所以使用比較對象在實際場景中沒有意義。 引子 數組去重是一個老生常談的話題,在面試中也經常會被問道。對于去重,有兩種主流思想: 先排序,線性遍歷后去重,時間復雜度O(n*log2n); 使用哈希,空間換...
摘要:專題系列第三篇,講解各種數組去重方法,并且跟著寫一個前言數組去重方法老生常談,既然是常談,我也來談談。它類似于數組,但是成員的值都是唯一的,沒有重復的值。 JavaScript 專題系列第三篇,講解各種數組去重方法,并且跟著 underscore 寫一個 unique API 前言 數組去重方法老生常談,既然是常談,我也來談談。 雙層循環 也許我們首先想到的是使用 indexOf 來循...
摘要:數組去重,一般都是在面試的時候才會碰到,一般是要求手寫數組去重方法的代碼。如果是被提問到,數組去重的方法有哪些你能答出其中的種,面試官很有可能對你刮目相看。數組去重的方法一利用去重中最常用不考慮兼容性,這種去重的方法代碼最少。 數組去重,一般都是在面試的時候才會碰到,一般是要求手寫數組去重方法的代碼。如果是被提問到,數組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看...
摘要:工作過程中經常會用到數組去重,用到的時候往往一時想不到好方法,所以這里來總結一下去重方法。和方法分別為添加成員方法和得到鍵值方法。因此,利用方法也可以實現數組的去重。 工作過程中經常會用到數組去重,用到的時候往往一時想不到好方法,所以這里來總結一下去重方法。使用es6去重代碼很簡單,而且ES6已經相當普及了。所以先來介紹一下es6中的方法。 1.ES6中Map結構方法 function...
閱讀 1935·2021-11-23 09:51
閱讀 1249·2019-08-30 15:55
閱讀 1620·2019-08-30 15:44
閱讀 765·2019-08-30 14:11
閱讀 1148·2019-08-30 14:10
閱讀 920·2019-08-30 13:52
閱讀 2633·2019-08-30 12:50
閱讀 619·2019-08-29 15:04