陣列相關知識
阿新 • • 發佈:2022-05-10
用中括號 [] 通過指定陣列名以及索引號碼,你可以訪問某個特定的元素。
陣列a賦值給陣列b: 陣列的長度陣列是一組資料,length屬性表示這個陣列中的內容的個數。簡稱陣列的長度。 該長度是可讀可寫的屬性。 當設定屬性的時候,表示要修改該陣列的長度。陣列的長度會發生變化。 當讀取時,會實時返回陣列的當時的長度。
關聯陣列基本概念: “關聯陣列”是一種具有特殊索引方式的陣列。不僅可以通過整數來索引它,還可以使用字串或者其他型別的值(除了NULL)來索引它。關聯陣列的索引值是任意的標量,這些標量稱為Keys,可以在以後用於檢索陣列中的數值。關聯陣列的元素沒有特定的順序。
如何定義關聯陣列? var defs = []; defs[key] = value; //key 和 value 需要分別賦予不同的值。
陣列的遍歷
第一種:普通for迴圈
最簡單的一種,也是使用頻率最高的一種,雖然效能不弱,但仍有優化空間 第二種:優化版for迴圈使用臨時變數,將長度快取起來,避免重複獲取陣列長度,當陣列較大時優化效果才會比較明顯。
這種方法基本上是所有迴圈遍歷方法中效能最高的一種
第三種:弱化版for迴圈這種方法其實嚴格上也屬於for迴圈,只不過是沒有使用length判斷,而使用變數本身判斷
實際上,這種方法的效能要遠遠小於普通for迴圈
第四種:foreach迴圈 陣列自帶的foreach迴圈,使用頻率較高,實際上效能比普通for迴圈弱 第五種:foreach變種由於foreach是Array型自帶的,對於一些非這種型別的,無法直接使用(如NodeList),所以才有了這個變種,使用這個變種可以讓類似的陣列擁有foreach功能。
實際效能要比普通foreach弱
第六種:forin迴圈 in 中的迴圈變數代表的是下標(key) 這個迴圈很多人愛用,但實際上,經分析測試,在眾多的迴圈遍歷方式中它的效率是最低的 第七種:map遍歷 這種方式也是用的比較廣泛的,雖然用起來比較優雅,但實際效率還比不上foreach 第八種:for of遍歷(需要ES6支援) 這種方式是es6裡面用到的,效能要好於forin,但仍然比不上普通for迴圈二維陣列的表示 myarray[][]
二維陣列的定義