欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js數(shù)組去重的hash方法

 更新時間:2016年12月22日 10:38:03   作者:caihg  
對于JavaScript數(shù)組去除重復(fù)項,現(xiàn)在有多種方法,其中一種是hash,本文主要對hash方法去除js數(shù)組重復(fù)項進行介紹,下面就跟小編一起來看下吧

對于 JavaScript 數(shù)組去除重復(fù)項,現(xiàn)在有多種方法,其中一種是hash,如下:

if (!Array.prototype.unique) {
 Array.prototype.unique = function () {
 var hash = {}, result = [], item;
 for (var i = 0; i < this.length; i++) {
 item = this[i];
 if ( !hash[item] ) {
 hash[item] = true;
 result.push(item);
 }
 }
 return result;
 };
}

但是該方法并不嚴(yán)謹(jǐn),無法區(qū)分?jǐn)?shù)字 1 和 字符串 '1'

var arr = [0, 1, '1', true, 5, true, false, undefined, undefined, null, null];
arr.unique();

修改一下,加上數(shù)據(jù)類型判斷:

if (!Array.prototype.unique) {
 Array.prototype.unique = function () {
 var hash = {}, result = [], type = '', item;
 for (var i = 0; i < this.length; i++) {
 item = this[i];
 type = Object.prototype.toString.call(item);

 if ( !hash[item + type] ) {
 hash[item + type] = true;
 result.push(item);
 }
 }
 return result;
 };
}

至少現(xiàn)在對5種原始數(shù)據(jù)類型的值可以準(zhǔn)確去重了,對某些引用類型的值──數(shù)組,函數(shù),也可以,但是對象類型──{"name": 1}, {"name": 2}就沒法區(qū)分了。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • javascript 最常用的10個自定義函數(shù)[推薦]

    javascript 最常用的10個自定義函數(shù)[推薦]

    如果不使用類庫或者沒有自己的類庫,儲備一些常用函數(shù)總是有好處的。
    2009-12-12
  • 關(guān)于foreach循環(huán)中遇到的問題小結(jié)

    關(guān)于foreach循環(huán)中遇到的問題小結(jié)

    這篇文章主要介紹了關(guān)于foreach循環(huán)中遇到的問題總結(jié),非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • javascript線性漸變一

    javascript線性漸變一

    javascript在處理圖像的能力其實是不弱的,可惜瀏覽器大戰(zhàn)連累了它,這還不算,Adobe 收購Macromedia更讓SVG處于怠工狀態(tài)。
    2009-10-10
  • javascript拖曳互換div的位置實現(xiàn)示例

    javascript拖曳互換div的位置實現(xiàn)示例

    一個div拖動互換位置的demo,還有很大優(yōu)化的空間,利用dom元素的dragstart/ondragover/ondrop事件完成,感興趣的可以了解一下
    2021-06-06
  • JS溫故而知新之變量提升和時間死區(qū)

    JS溫故而知新之變量提升和時間死區(qū)

    這篇文章主要給大家介紹了關(guān)于JS溫故而知新之變量提升和時間死區(qū)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • 原生JavaScript實現(xiàn)九宮格抽獎

    原生JavaScript實現(xiàn)九宮格抽獎

    這篇文章主要為大家詳細介紹了原生JavaScript實現(xiàn)九宮格抽獎,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • javascript清空table表格的方法

    javascript清空table表格的方法

    這篇文章主要介紹了javascript清空table表格的方法,涉及javascript操作table表格的技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript MutationObserver實例講解

    JavaScript MutationObserver實例講解

    MutationObserver用來監(jiān)視DOM變動。DOM的任何變動,比如節(jié)點增減、屬性的變動、文本內(nèi)容的變動都會觸發(fā)MutationObserver事件,它與事件有一個本質(zhì)不同:事件是同步觸發(fā),MutationObserver則是異步觸發(fā),DOM的變動并不會馬上觸發(fā),而是要等到當(dāng)前所有DOM操作都結(jié)束才觸發(fā)
    2022-12-12
  • Javascript 獲取滾動條位置等信息的函數(shù)

    Javascript 獲取滾動條位置等信息的函數(shù)

    有時為了準(zhǔn)確定位一個元素,我們需要獲取滾動條的位置,這種需求經(jīng)常出現(xiàn)在 tooltip 和 拖放等應(yīng)用中,其實這個技術(shù)很簡單,關(guān)鍵是要考慮瀏覽器的兼容性,本文就是介紹這一問題的解決方法。
    2009-09-09
  • Javascript 顏色漸變效果的實現(xiàn)代碼

    Javascript 顏色漸變效果的實現(xiàn)代碼

    在搭建博主博客的時候,尋思著做一些效果,看到菜單,就想是不是可以做一下顏色的漸變,增加一點動態(tài)的感覺。有個jquery的插件,效果相當(dāng)不錯,不過博主還是打算自立更生寫一下,看看能不能實現(xiàn)
    2013-10-10

最新評論