• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    關(guān)于JavaScript數(shù)組,你所不知道的3件事

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:24:49
    文檔

    關(guān)于JavaScript數(shù)組,你所不知道的3件事

    關(guān)于JavaScript數(shù)組,你所不知道的3件事:在編程語(yǔ)言當(dāng)中,數(shù)組(Array)是一個(gè)非常常用的功能;它是一種特殊的變量,可以用來(lái)同時(shí)儲(chǔ)存多個(gè)數(shù)值。然而,在JavaScript方面,數(shù)組的功能還有很多其他值得探索的地方。在這篇文字中,我們將會(huì)討論JavaScript數(shù)組的三個(gè)并不那么常見的功能。1. 給數(shù)組添
    推薦度:
    導(dǎo)讀關(guān)于JavaScript數(shù)組,你所不知道的3件事:在編程語(yǔ)言當(dāng)中,數(shù)組(Array)是一個(gè)非常常用的功能;它是一種特殊的變量,可以用來(lái)同時(shí)儲(chǔ)存多個(gè)數(shù)值。然而,在JavaScript方面,數(shù)組的功能還有很多其他值得探索的地方。在這篇文字中,我們將會(huì)討論JavaScript數(shù)組的三個(gè)并不那么常見的功能。1. 給數(shù)組添

    在編程語(yǔ)言當(dāng)中,數(shù)組(Array)是一個(gè)非常常用的功能;它是一種特殊的變量,可以用來(lái)同時(shí)儲(chǔ)存多個(gè)數(shù)值。然而,在JavaScript方面,數(shù)組的功能還有很多其他值得探索的地方。

    在這篇文字中,我們將會(huì)討論JavaScript數(shù)組的三個(gè)并不那么常見的功能。

    1. 給數(shù)組添加自定義屬性

    在網(wǎng)上搜尋有關(guān)JavaScript數(shù)組的定義時(shí),你會(huì)發(fā)現(xiàn)幾乎所有人對(duì)于數(shù)組的定義都一樣:一種對(duì)象。

    事實(shí)上,我們用JavaScript處理的所有東西,都可以視為是一種對(duì)象。JavaScript中有兩種數(shù)據(jù)類型,基本類型數(shù)對(duì)象類型,但是基本類型基本都是包括在對(duì)象類型之中的。

    數(shù)組、函數(shù)、Date在JavaScript中都是預(yù)定義的對(duì)象,它們內(nèi)部都包含了方法、屬性和各自的標(biāo)準(zhǔn)化句法。

    JavaScript數(shù)組有以下三種不同的屬性:

    1 數(shù)組的索引也是其屬性

    2 內(nèi)置屬性

    3 你可以自己添加自定義屬性

    前兩種屬性是大家比較熟知的,你可能每天都在使用,但是我還是想在這里簡(jiǎn)單的多說(shuō)兩句,然后再來(lái)談?wù)勅绾谓o數(shù)組添加自定義屬性。

    將索引作為屬性

    JavaScript數(shù)組可以使用方括號(hào)句法,例如var ary = [“orange”,"apple","lychee"];。

    數(shù)組元素的索引基本上也是一種屬性,而其屬性的名稱永遠(yuǎn)都是非負(fù)整數(shù)。

    數(shù)組的索引元素對(duì)類似一個(gè)對(duì)象的關(guān)鍵值對(duì)。索引是數(shù)組對(duì)象的獨(dú)特特性,與其他內(nèi)置屬性不同,它們可以單獨(dú)通過(guò)方括號(hào)進(jìn)行配置,例如 ary[3] = “peach”;。

    內(nèi)置屬性

    數(shù)組擁有內(nèi)置屬性,例如array.length。這個(gè)長(zhǎng)度屬性包含了一個(gè)整數(shù)值,用來(lái)表示數(shù)組的長(zhǎng)度。

    一般情況下,內(nèi)置屬性經(jīng)常可以在數(shù)組等預(yù)先定義的JavaScript對(duì)象中找到。內(nèi)置屬性與內(nèi)置方法聯(lián)合在一起,它們可以對(duì)普通對(duì)象進(jìn)行自定義,讓對(duì)象滿足不同的需求。

    在訪問(wèn)內(nèi)置屬性的時(shí)候,你可以使用兩種句法:object.key或是object[“key”]。也就是說(shuō),在獲取數(shù)組長(zhǎng)度的時(shí)候,你可以寫成ary[“l(fā)ength"]。

    為數(shù)組對(duì)象創(chuàng)建自定義屬性

    現(xiàn)在我們來(lái)談一談如何為數(shù)組添加自定義屬性。數(shù)組是一種預(yù)定義對(duì)象,它在不同的索引中儲(chǔ)存了不同的種類的值。

    通常情況下,我們沒(méi)有給數(shù)組添加自定義屬性的需要;也是出于這個(gè)原因,我們?cè)趧倓倢W(xué)習(xí)JavaScript的時(shí)候,沒(méi)有人告訴我們可以給數(shù)組添加屬性。事實(shí)上,如果你想要向?qū)Υ话銓?duì)象那樣,給數(shù)組添加關(guān)鍵值對(duì),你也可以使用一般的對(duì)象來(lái)達(dá)到目的。但是,這并不是說(shuō)完全沒(méi)有特殊情況,在某些情況下,你可以利用數(shù)組也是一種對(duì)象的事實(shí),給它添加一個(gè)或多個(gè)自定義屬性。

    例如,你可以給數(shù)組添加一個(gè)可以識(shí)別元素“類型(kind)”或是“類(class)”的自定義屬性。具體請(qǐng)參見下方實(shí)例:

     var ary = ["orange","apple","lychee"];
    
    ary.itemClass = "fruits";
    
    console.log(ary + " are " + ary.itemClass);

    請(qǐng)注意,你給數(shù)組所添加的自定義屬性都是可數(shù)的,也就是說(shuō),它可以被for……in等循環(huán)所揀選。

    2. 在數(shù)組元素中進(jìn)行循環(huán)

    你可能會(huì)說(shuō):“這個(gè)我早就知道了。”沒(méi)錯(cuò),你已經(jīng)知道如何對(duì)數(shù)組元素進(jìn)行索引了。但是“在數(shù)組元素中進(jìn)行循環(huán)”這樣的說(shuō)法你可能會(huì)覺(jué)得有些抽象,因?yàn)槲覀冋嬲h(huán)的,是數(shù)組的索引。

    由于數(shù)組索引都是又非負(fù)整數(shù)所構(gòu)成的,因此通常情況下,我們都會(huì)從0開始,直到數(shù)組的全部長(zhǎng)度,來(lái)對(duì)整數(shù)值進(jìn)行迭代,然后使用那個(gè)迭代后的值來(lái)根據(jù)特定的索引來(lái)獲取數(shù)組元素。

    然而,自從ECMAScript6出現(xiàn)之后,我們可以不再管索引,直接在數(shù)組值中進(jìn)行循環(huán),而且這個(gè)操作可以使用for……of循環(huán)來(lái)完成。

    在數(shù)組中,for……of循環(huán)可以根據(jù)索引的順序?qū)?shù)組元素進(jìn)行循環(huán),換句話說(shuō),它可以掌管索引的迭代,根據(jù)給予的索引獲取一個(gè)已經(jīng)存在的數(shù)組值。如果你只是想要在所有數(shù)組元素中進(jìn)行循環(huán),并且使用它們,這個(gè)循環(huán)非常實(shí)用。

     var ary = ["orange","apple","lychee"];
    
    for (let item of ary){
    
     console.log(item);
    
    }
    
    For comparison, with the regular for loop, we get the indices instead of the values as output.
    
     
    
    var ary = ["orange","apple","lychee"];
    
    for (var item = 0; item < ary.length; item++){
    
     console.log(item);
    
    }

    3. 元素的數(shù)量不等同于其長(zhǎng)度

    一般情況下,當(dāng)我們?cè)谡劦綌?shù)組長(zhǎng)度的時(shí)候,我們會(huì)認(rèn)為其長(zhǎng)度要么是數(shù)組值的數(shù)量,要么是我們手動(dòng)給數(shù)組設(shè)定的長(zhǎng)度。但是事實(shí)上,數(shù)組的長(zhǎng)度取決于其內(nèi)部最大的已經(jīng)存在的索引。

    長(zhǎng)度是一個(gè)非常靈活的屬性。無(wú)論你是否曾實(shí)現(xiàn)調(diào)整了數(shù)組的長(zhǎng)度,只要你不斷的給數(shù)組添加新的值,它的長(zhǎng)度也會(huì)隨之增長(zhǎng)。

     var ary = [];
    
    ary.length = 3;
    
    console.log(ary.length);
    
    ary[5] = "abcd";
    
    console.log(ary.length);

    在上面的例子中,你可以看到我給數(shù)組的索引5只指定了一個(gè)值,之后長(zhǎng)度變成了6。現(xiàn)在,如果你覺(jué)得給index 5添加一個(gè)值,數(shù)組就會(huì)自動(dòng)創(chuàng)建索引0-4,那么你的推測(cè)就出現(xiàn)了錯(cuò)誤。數(shù)組中并沒(méi)有應(yīng)經(jīng)存在的索引0-4。你可以使用in operator來(lái)查看。

     var ary = [];
    
    ary.length = 3;
    
    console.log(ary.length);
    
    ary[5] = "abcd";
    
    console.log(ary.length);
    
    console.log(0 in ary);

    上面的ary數(shù)組被我們成為稀疏數(shù)組(sparse array),這個(gè)數(shù)組的索引不會(huì)持續(xù)的被創(chuàng)建,而且索引之間有空氣。sparse數(shù)組的對(duì)立面為密集數(shù)組(dense array)。密集數(shù)組的索引會(huì)被持續(xù)的創(chuàng)建,其元素的數(shù)量等于其長(zhǎng)度。

    數(shù)組的長(zhǎng)度屬性也可以用來(lái)縮短數(shù)字,確保數(shù)組中索引的最大數(shù)量永遠(yuǎn)小于數(shù)組本身,因?yàn)樵谀J(rèn)情況下,長(zhǎng)度的數(shù)值永遠(yuǎn)會(huì)大于索引數(shù)量的最高值。

    在下面的例子中,你可以看到,我利用減少ary數(shù)組長(zhǎng)度的方式,社區(qū)了索引5中的元素。

    var ary = [];
    
    ary.length = 3;
    
    console.log(ary.length);
    
    ary[5] = "abcd";
    
    console.log(ary.length);
    
    ary.length = 2;
    
    console.log(ary.length);
    
    console.log(ary[5]);

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    關(guān)于JavaScript數(shù)組,你所不知道的3件事

    關(guān)于JavaScript數(shù)組,你所不知道的3件事:在編程語(yǔ)言當(dāng)中,數(shù)組(Array)是一個(gè)非常常用的功能;它是一種特殊的變量,可以用來(lái)同時(shí)儲(chǔ)存多個(gè)數(shù)值。然而,在JavaScript方面,數(shù)組的功能還有很多其他值得探索的地方。在這篇文字中,我們將會(huì)討論JavaScript數(shù)組的三個(gè)并不那么常見的功能。1. 給數(shù)組添
    推薦度:
    標(biāo)簽: js 了解 事情
    • 熱門焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲永久精品ww47| 国产精品无码免费播放| 99re这里只有精品国产精品| 久久99精品久久久久久9蜜桃| 久久夜色精品国产噜噜麻豆| 久久93精品国产91久久综合| 精品999在线| 韩国精品欧美一区二区三区 | 亚洲乱码日产精品a级毛片久久| 亚洲国产成人久久精品影视| 久久精品亚洲精品国产色婷| 无码AV动漫精品一区二区免费| 国产成人精品怡红院在线观看| 2020国产精品| 四虎成人精品免费影院| 无码国产精品一区二区免费式芒果| 国产精品自产拍在线18禁| 精品久久久久久中文字幕| 久久国产精品成人影院| 亚洲精品视频免费观看| 日本精品一区二区三区在线视频一 | 精品国产高清在线拍| 久热这里只精品99re8久| 国内精品久久久久久99| 精品无码人妻一区二区三区不卡| 亚洲欧美精品综合中文字幕| 久久精品亚洲精品国产欧美| 国产精品99久久久久久宅男| 好吊妞视频精品| 国产91精品在线观看| 2022免费国产精品福利在线| 精品久久久久香蕉网| 日韩精品内射视频免费观看| 亚洲日韩一页精品发布| 最新国产精品精品视频| 亚洲AV蜜桃永久无码精品| 久久久久久亚洲精品无码| 国产亚洲午夜高清国产拍精品| 国产精品美女网站在线观看| 国产精品女同一区二区久久| 国产精品99久久久久久猫咪|