就是包含從0開始的不連續索引的陣列。
a =new array(5) //沒有元素,但length=5
a[1000] = 0; //賦值新增乙個元素,但是設定length為1001。
可以使用in操作符檢測兩者之間的區別:
var a1 = [,,,]; //陣列是[undefined, undefined, undefined]
var a2 = new array(3); //該陣列沒有元素
0 in a1 ; //=>true
0 in a2; //=>false
注意:當省略陣列直接直接量中的值時(使用連續的逗號如[1,,3]),這時得到的陣列也是稀疏陣列。省略掉的值是不存在的。如果你確實碰到了稀疏陣列,你的**很可能像對待非稀疏陣列一樣來對待它們,只不過它們包含一些undefined值。
學習記錄 稀疏陣列
int x newint 11 11 x 1 2 1 x 2 3 1 system.out.println 輸出原始陣列 for int a x system.out.println 轉換為稀疏陣列儲存 int sum 0 for int i 0 i 11 i system.out.println ...
資料結構學習筆記 稀疏陣列
資料元素之間一對一的關係 順序儲存結構 位址連續 陣列 和鏈式儲存結構 位址不連續 鍊錶 陣列 鍊錶 佇列 棧 2.1.1 需求 由圖分析 使用二維陣列儲存棋盤存在大量無用資料 使用稀疏陣列優化 2.1.2 稀疏陣列優化 思路 2.1.3 實現思路 二維陣列轉稀疏陣列 遍歷二維陣列,得到有效資料的個...
JS學習筆記 陣列
ecmas cript 中沒有提供類和介面等的定義,但它卻是一門物件導向的語言,由於它能夠通過其它 方式實現類似高階語言的物件導向功能,這些內容將在後面的文章中進行一步步的總結。此篇僅對 js中物件作簡要說明,重點彙總一些類似於物件的陣列的經常用法。物件建立 上篇提到建立物件的兩種方式 使用new ...