成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

在JS中封裝List、Map、Set等集合

劉厚水 / 1809人閱讀

摘要:結(jié)構(gòu)本身可以看作一個(gè)線性數(shù)組,因此可以利用數(shù)組來封裝,首先,定義中的數(shù)組和各類方法。用來存儲(chǔ),與中的對(duì)象很相似,因此,可以通過封裝對(duì)象,定義一系列方法來構(gòu)造。

在前端,我們通常需要用JS處理一些從服務(wù)器返回的數(shù)據(jù),例如簡(jiǎn)單的數(shù)據(jù)清洗、對(duì)數(shù)據(jù)格式做細(xì)微的調(diào)整等等,這些需求在java中借助集合通常很容易完成,但JS原生不提供類似java中的集合,這時(shí),我們可以利用JS中的原生數(shù)組和Object對(duì)象來封裝List、Map、Set這些集合,下面依次說明如何封裝這些集合。

List

List結(jié)構(gòu)本身可以看作一個(gè)線性數(shù)組,因此可以利用數(shù)組來封裝,首先,定義List中的數(shù)組和各類方法。

function List(){
    this.values = new Array();
    this.add = function(a){
        this.values.push(a);
    }
    this.get = function(index){
        if(index >= this.values.length){
            console.error("index is out range of the max index");
        }else{
            return values[index];
        }
    }
    ......
}
Map

Map用來存儲(chǔ)key-Value,與JS中的Object對(duì)象很相似,因此,可以通過封裝Object對(duì)象,定義一系列方法來構(gòu)造Map。

function Map(){
    this.objs = {};
    this.put = function(key ,value){
        this.objs[key] = value;
    }
    this.get = function(key){
        if(key in this.objs){
            return this.objs[key];
        }else{
            console.debug("this key is not in the Map");
        }
    }
    this.keys = function(){
        var a = new Array();
        for(var b in this.objs){
            a.push(b);
        }
        return a;
    }
    this.delete = function(key){
        delete this.objs[key];
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104125.html

相關(guān)文章

  • Immutable.js 初識(shí)

    摘要:文章博客地址所創(chuàng)建的數(shù)據(jù)有一個(gè)迷人的特性數(shù)據(jù)創(chuàng)建后不會(huì)被改變。是的基類,使用該類時(shí)需要至少繼承其子類中的一個(gè)??偨Y(jié)所提供的和固有的各有優(yōu)勢(shì),未來有可能制定一套原生的規(guī)范,在這之前,是一個(gè)不錯(cuò)的選擇。參考資料官方文檔 文章博客地址:http://pinggod.com/2016/Immutable/ Immutable.js 所創(chuàng)建的數(shù)據(jù)有一個(gè)迷人的特性:數(shù)據(jù)創(chuàng)建后不會(huì)被改變。我們使用 ...

    Olivia 評(píng)論0 收藏0
  • Java013-集合

    摘要:集合框架重點(diǎn)理解用于存儲(chǔ)數(shù)據(jù)的容器。集合容器在不斷向上抽取過程中。出現(xiàn)了集合體系。,刪除將集合中的元素全刪除,清空集合。刪除集合中指定的對(duì)象。注意刪除成功,集合的長(zhǎng)度會(huì)改變。作用用于取集合中的元素。是集合特有的迭代器。是單列集合是雙列集合 集合框架(重點(diǎn)理解):用于存儲(chǔ)數(shù)據(jù)的容器。特點(diǎn):1:對(duì)象封裝數(shù)據(jù),對(duì)象多了也需要存儲(chǔ)。集合用于存儲(chǔ)對(duì)象。2:對(duì)象的個(gè)數(shù)確定可以使用數(shù)組,但是不確定怎...

    qpal 評(píng)論0 收藏0
  • java學(xué)習(xí)(七) —— API集合

    摘要:集合類主要負(fù)責(zé)保存盛裝其他數(shù)據(jù),因此集合類也被稱為容器類。所有的集合類都位于包下。表示一組對(duì)象,這些對(duì)象也稱為的元素。成員方法把集合轉(zhuǎn)成數(shù)組迭代器,集合的專用遍歷方式之接口概述有序的,也稱為序列。 前言 在編程中,常常需要集中存放多個(gè)數(shù)據(jù)。從傳統(tǒng)意義上講,數(shù)組是我們的一個(gè)很好的選擇,前提是我們實(shí)現(xiàn)已經(jīng)明確知道我們將要保存的對(duì)象的數(shù)量。 一旦在數(shù)組初始化時(shí)指定了數(shù)組長(zhǎng)度,這個(gè)數(shù)組長(zhǎng)度就...

    senntyou 評(píng)論0 收藏0
  • Java 線程相關(guān)類

    摘要:提供了線程安全的共享對(duì)象,在編寫多線程代碼時(shí),可把不安全的整個(gè)變量封裝進(jìn),或者把該對(duì)象與線程相關(guān)的狀態(tài)使用保存并不能替代同步機(jī)制,兩者面向的問題領(lǐng)域不同。 ThreadLocal類 使用ThreadLocal類可以簡(jiǎn)化多線程編程時(shí)的并發(fā)訪問,使用這個(gè)工具類可以很簡(jiǎn)捷地隔離多線程程序的競(jìng)爭(zhēng)資源。Java5之后,為ThreadLocal類增加了泛型支持,即ThreadLocal Threa...

    Sanchi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

劉厚水

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<