摘要:模樣如下對于基本類型數組輸出,對于對象數組輸出自己寫的供大家當工具函數使用,可能會比冒泡排序那種去重要快一些。其中一點說明的是對于對象數組,參數是一個函數,這個函數返回用來去重的屬性。
模樣如下:
Array.prototype.delrep = function(fun) { if(!fun) { fun = function(d) {return d;}; } var newArr = []; this.sort(function(a, b) { return fun(a) > fun(b) ? -1 : 1; }); newArr.push(this[0]); this.forEach(function(d) { if(fun(d) != fun(newArr[0])) { newArr.unshift(d); } }); return newArr; };
1,對于基本類型數組:
[1,2,3,4,5,5,6,6,5].delrep();//輸出[1, 2, 3, 4, 5, 6]
2,對于對象數組:
var data = [ { name: "aaa", value: 123 }, { name: "bbb", value: 234 }, { name: "aaa", value: 789 } ]; console.log(data2.delrep(function(d) {return d.name;})); //輸出[ { name: "bbb", value: 234 }, { name: "aaa", value: 789 } ];
自己寫的供大家當工具函數使用,可能會比冒泡排序那種去重要快一些。
其中一點說明的是對于對象數組,參數是一個函數,這個函數返回用來去重的屬性。
希望我的文章能幫助到你,更多資料請翻閱d3js.org,
我是朱現明,任職于精碩科技可視化部門前端開發,更多精彩的文章即將奉上.
zhuxianming@admaster.com.cn
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/87484.html
摘要:專題系列第三篇,講解各種數組去重方法,并且跟著寫一個前言數組去重方法老生常談,既然是常談,我也來談談。它類似于數組,但是成員的值都是唯一的,沒有重復的值。 JavaScript 專題系列第三篇,講解各種數組去重方法,并且跟著 underscore 寫一個 unique API 前言 數組去重方法老生常談,既然是常談,我也來談談。 雙層循環 也許我們首先想到的是使用 indexOf 來循...
摘要:而數組元素去重是基于運算符的。而如果有迭代函數,則計算傳入迭代函數后的值,對值去重,調用方法,而該方法的核心就是調用方法,和我們上面說的方法一異曲同工。 Why underscore (覺得這部分眼熟的可以直接跳到下一段了...) 最近開始看 underscore.js 源碼,并將 underscore.js 源碼解讀 放在了我的 2016 計劃中。 閱讀一些著名框架類庫的源碼,就好像...
摘要:實現數組更多的高階函數吾輩的博客原文場景雖說人人平等,但有些人更加平等。若是有一篇適合萌新閱讀的自己實現數組更多操作的文章,情況或許會發生一些變化。類似于的初始值,但它是一個函數,避免初始值在所有分組中進行累加。 JavaScript 實現數組更多的高階函數 吾輩的博客原文: https://blog.rxliuli.com/p/fc... 場景 雖說人人平等,但有些人更加平等。 為...
摘要:數組的方法方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。可選,執行函數時的值。刪除所有的鍵值對,沒有返回值。返回一個布爾值,表示某個鍵是否在當前對象之中。 說明 JavaScript數組去重這個問題,經常出現在面試題中,以前也寫過一篇數組去重的文章,(JavaScript 數組去重的多種方法原理詳解)但感覺代碼還是有點不夠簡單,今天和大家再說兩種方法,代碼...
摘要:數組的方法方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。可選,執行函數時的值。刪除所有的鍵值對,沒有返回值。返回一個布爾值,表示某個鍵是否在當前對象之中。 說明 JavaScript數組去重這個問題,經常出現在面試題中,以前也寫過一篇數組去重的文章,(JavaScript 數組去重的多種方法原理詳解)但感覺代碼還是有點不夠簡單,今天和大家再說兩種方法,代碼...
閱讀 1632·2021-11-11 10:59
閱讀 2642·2021-09-04 16:40
閱讀 3677·2021-09-04 16:40
閱讀 2997·2021-07-30 15:30
閱讀 1674·2021-07-26 22:03
閱讀 3176·2019-08-30 13:20
閱讀 2240·2019-08-29 18:31
閱讀 451·2019-08-29 12:21