摘要:記筆記很有必要相信我,大多數(shù)人的記憶力是不可靠的。解決方式遍歷的順序不確定因?yàn)閷?duì)象不是有序的。出租過(guò)程中趕走了某些房客。具體來(lái)說(shuō)就是說(shuō)存在某個(gè)空間沒(méi)有元素的數(shù)組便是稀疏數(shù)組怎么處理將會(huì)確認(rèn)這個(gè)位置有沒(méi)有元素存在。同檢查元素是否存在
數(shù)組記筆記很有必要——相信我,大多數(shù)人的記憶力是不可靠的。
——《與時(shí)間做朋友》李笑來(lái)
值的有序集合
弱類型
數(shù)組中的元素可以是各種類型的
null
undefined
...
空間有限
0~2^32-1( 42_9496_7295)
創(chuàng)建 字面量var arr = [["ff",{ee:"dd"}],[e,dd]] var arr = [,,] //2 undefinednew Array()
new Array(100);//100undefined new Array(1,2,"hi",{"touch":"me"})//[1,2,"hi",{touch:"me"}]添改查刪 添加
.push(xx) //添加到后面
返回添加后數(shù)組的數(shù)組長(zhǎng)度
//等于 arr[arr.length] = xx
.unshift() //添加到前面
刪除+輸出
(單純刪除)
arr.length -= 1;//刪除最后一元素
.shift() //把第一個(gè)犧牲出去
.pop() //把最后一個(gè)犧牲出去
deletedelete arr[0] // 相當(dāng)于 arr[0] = undefined
迭代 for(;;)略
for(i in arr)
作為一個(gè)對(duì)象來(lái)遍歷這個(gè)數(shù)組時(shí)
當(dāng)Array原型上定義了一個(gè)屬性的時(shí)候,for i in arr一個(gè)數(shù)組的時(shí)候,將會(huì)把原型上的這個(gè)屬性也遍歷出來(lái),不管這個(gè)數(shù)組是在這之前還是之后生成的。
var arr = [1,2,3] Array.prototype.x = "inherited" for(i in arr){ console.log(i + " " + arr[i]); } //1 1 //2 2 //3 3 //x "inherited"
解決方式
for(i in arr){ if(arr.hasOwnProperty(i){ //do somethings } }
遍歷的順序不確定
因?yàn)閷?duì)象不是有序的。
數(shù)組的兩種特殊形式 二維數(shù)組 遍歷一個(gè)二位數(shù)組通過(guò)嵌套的循環(huán)
var arr = [[0,1],[1,2],[2,3]] for(var i =0;i應(yīng)用 二位平面定位
三位空間點(diǎn)定位(使用三維數(shù)組
稀疏數(shù)組(不常用)內(nèi)部的元素構(gòu)不成一個(gè)連續(xù)序列
一般length屬性值比實(shí)際元素個(gè)數(shù)大
什么東西?將數(shù)組比作一棟出租屋,里面按照輸入的參數(shù)建了好幾個(gè)房間。
除了部分建造時(shí)就不打算用來(lái)出租的空房間之外
如果存在沒(méi)有人住的空房間
那么這個(gè)出租屋就是“稀疏出租屋”。
//按照輸入的參數(shù)建了好幾個(gè)房間 var apartment = [1,undefined,,4,"watch"] // 建造時(shí)就不打算用來(lái)出租的空房間 apartment[1] // undefined 1 in apartment // true // 沒(méi)有人住的空房間 aprtment[2] // undefined 2 in apartment // false // 稀疏出租屋 apartment; // [1,undefined,,4,"watch"]怎么產(chǎn)生的?這個(gè)空房間的產(chǎn)生可能由于:
建房子的時(shí)候輸入的參數(shù)沒(méi)有指明用途。var empty = [,,]
出租過(guò)程中趕走了某些房客。delete arr[1]
具體來(lái)說(shuō)就是說(shuō): 存在某個(gè)空間沒(méi)有元素的數(shù)組便是稀疏數(shù)組
怎么處理?
in
{number} in {arr} 將會(huì)確認(rèn) arr[number] 這個(gè)位置有沒(méi)有元素存在。
arr[i] == undefined
同檢查元素是否存在
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/80924.html
摘要:基本的學(xué)習(xí)思路是跟著框架設(shè)計(jì)這本書(shū),甚至可以說(shuō)是這本書(shū)的讀書(shū)筆記。也參考很多網(wǎng)上解讀的博客和學(xué)習(xí)資料。當(dāng)然,最重要的資料還是框架的源代碼。后來(lái)由于開(kāi)發(fā)者反對(duì),新興的框架都在命名空間上構(gòu)建。 JavaScript框架學(xué)習(xí)筆記(一) 我為什么要學(xué)習(xí)框架 更深入的理解工具,以后用起來(lái)更順手而且也能做一定的工具取舍,學(xué)習(xí)理解新工具也就更快, 對(duì)提升js水平也很有幫助,框架有很多解決坑的經(jīng)典思...
摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識(shí)點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號(hào)曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤(pán)地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫(xiě)學(xué)習(xí)路徑,還要寫(xiě)學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...
摘要:最近買了深入理解的書(shū)籍來(lái)看,為什么學(xué)習(xí)這么久還要買這本書(shū)呢主要是看到核心團(tuán)隊(duì)成員及的創(chuàng)造者為本書(shū)做了序,作為一個(gè)粉絲,還是挺看好這本書(shū)能給我?guī)?lái)一個(gè)新的升華,而且本書(shū)的作者也非常厲害。 使用ES6開(kāi)發(fā)已經(jīng)有1年多了,以前看的是阮一峰老師的ES6教程,也看過(guò)MDN文檔的ES6語(yǔ)法介紹。 最近買了《深入理解ES6》的書(shū)籍來(lái)看,為什么學(xué)習(xí)ES6這么久還要買這本書(shū)呢?主要是看到Daniel A...
摘要:從現(xiàn)在開(kāi)始,養(yǎng)成寫(xiě)技術(shù)博客的習(xí)慣,或許可以在你的職業(yè)生涯發(fā)揮著不可忽略的作用。如果想了解更多優(yōu)秀的前端資料,建議收藏下前端英文網(wǎng)站匯總這個(gè)網(wǎng)站,收錄了國(guó)外一些優(yōu)質(zhì)的博客及其視頻資料。 前言 寫(xiě)文章是一個(gè)短期收益少,長(zhǎng)期收益很大的一件事情,人們總是高估短期收益,低估長(zhǎng)期收益。往往是很多人堅(jiān)持不下來(lái),特別是寫(xiě)文章的初期,剛寫(xiě)完文章沒(méi)有人閱讀會(huì)有一種挫敗感,影響了后期創(chuàng)作。 從某種意義上說(shuō),...
閱讀 1513·2023-04-26 01:28
閱讀 3326·2021-11-22 13:53
閱讀 1442·2021-09-04 16:40
閱讀 3199·2019-08-30 15:55
閱讀 2692·2019-08-30 15:54
閱讀 2499·2019-08-30 13:47
閱讀 3379·2019-08-30 11:27
閱讀 1158·2019-08-29 13:21