Arrays
Declaration
let arr = new Array();
let arr = [];
// most time use [...]
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits[0] ); // Apple
alert( fruits[1] ); // Orange
alert( fruits[2] ); // Plum
// replace
fruits[2] = 'Pear'; // now ["Apple", "Orange", "Pear"]
// add new one
fruits[3] = 'Lemon'; // now ["Apple", "Orange", "Pear", "Lemon"]
// length
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits.length ); // 3
// store any type data
// mix of values
let arr = [ 'Apple', { name: 'John' }, true, function() { alert('hello'); } ];
// get the object at index 1 and then show its name
alert( arr[1].name ); // John
// get the function at index 3 and run it
arr[3](); // helloMethods pop/push, shift/unshift
.pop()從 array 最後拿走一個值。.push()從 array 最後增加一個或多個值。.shift()從 array 前面拿走一個值。.unshift()從 array 前面增加一個或多個值。
Internals
array 是特殊的物件, key 是有順序的數字,複製的物件一樣指向相同記憶體。
我們可以像一般的物件使用 array ,但會讓引擎認為他是一般的物件,而不能使用針對 array 做的優化及方法。誤用 array 的情況如下:
增加非數字的屬性
arr.test = 5。增加值但並非依照排列。增加
arr[0]、arr[1000]他們中間沒有任何值。新增值但順序相反
arr[1000]、arr[999]。
Performance



Loops
A word about “length”
array 的 length 屬性準確地說是 index 值 +1,所以當 index 很大 length 也很大。
減少 length 屬性會造成資料被刪除,所以要清除 array 的方法有 arr.length = 0。
new Array()
Multidimensional arrays
toString
array 轉換 string 會返回 , 分離的值,轉換用的方法為 toString()。
Last updated
Was this helpful?