跳轉到內容

常見 JavaScript 手冊/資料型別 - 陣列

75% developed
來自華夏公益教科書

建立陣列

[編輯 | 編輯原始碼]

建立陣列最好使用列表字面量,因為它是最流行且簡單的語法

a = []; //Empty list
b = [1,2,3,4,5]; //List with 5 elements

操作元素

[編輯 | 編輯原始碼]

因此,我們有一個包含五個數字的陣列 'b' 和一個空陣列 'a'。

a[0] = b[2]; //1
delete b[2]; //2
b[3] = 6; //3
  1. 從陣列 b - [1,2,3,4,5] 中獲取索引為 2 的元素(陣列中的編號從 0 開始)。現在陣列 a = [2]
  2. 我們從陣列 b 中刪除索引為 2 的元素。現在陣列 b = [0,1,undefined,3,4]。
  3. 我們更改陣列 b 中索引為 3 的元素的值。現在陣列 b = [0,1,undefined,6,4]。

操作切片

[編輯 | 編輯原始碼]

Array.slice(start,end) - 返回一個數組,包含Array中從start索引到end索引(不包括索引為end的元素)的元素。

a = [0,1,2,3,4,5,6,7];
b = a.slice(2,5); //2,3,4

如果startend是負數,則startend的索引等於(陣列長度 + startend)。

a = [0,1,2,3,4,5,6,7];
b = a.slice(2,-2); //2,3,4,5 because length = 8 and 8 + (-2) = 6

Array.splice(start,number,elem...) - 返回一個包含從Arraystart索引開始的number個元素的切片,並將這些元素從Array中刪除,並用elem替換它們。

a = [0,1,2,3,4,5,6,7];
b = a.splice(2,3,0,1,0);
print(b); // 2,3,4
print(a); // 0,1,0,1,0,5,6,7

棧和佇列

[編輯 | 編輯原始碼]

您可以使用任何陣列作為棧或佇列,為此有四個函式。

名稱 操作
Array.pop() 刪除並返回Array的最後一個元素
Array.push(elem...) elem插入Array的末尾
Array.shift() 刪除並返回Array的第一個元素
Array.unshift(elem...) elem插入Array的開頭

例如

Foo = [1,2,3,4,5];
Bar = Foo.pop(); //Bar = 5 , Foo = [1,2,3,4]
Foo.unshift(Bar); // Foo = [5,1,2,3,4]

排序和反轉

[編輯 | 編輯原始碼]

還有 Array.sort([predicate]) - 如果沒有定義 predicate,則按字典順序對Array中的元素進行排序;否則,按函式predicate的結果對Array中的元素進行排序,該函式獲取兩個引數,如果第一個引數小於第二個引數則返回-1,如果第二個引數小於第一個引數則返回1,如果引數相等則返回0

Array.reverse() - 反轉Array中的元素。

arr = [5,3,1,4,2];
arr.sort();
print(arr); //1,2,3,4,5
arr.reverse();
print(arr); //5,4,3,2,1

連線和合並

[編輯 | 編輯原始碼]

Array.concat(elem1...) - 返回一個包含Arrayelem的元素的陣列。如果elem[n]是陣列,則將elem[n]中的所有元素新增到返回的陣列中。

Array.join([separator]) - 返回一個字串,其中包含所有元素,並在每個元素之前新增一個分隔符。如果未定義分隔符,則分隔符 = ","。

arr1 = [0,1,2,3,4]
arr2 = [5,6,7,8,9]
elem = 10;
arr = arr1.concat(arr2,elem); //0,1,2,3,4,5,6,7,8,9,10
str = arr.join(';'); //0;1;2;3;4;5;6;7;8;9;10
print(str);

陣列長度

[編輯 | 編輯原始碼]

Array.length - Array中的元素數量

arr = [0,1,2,3,4,5]
print(arr.length); // 6


資料型別 - 數字 · 資料型別 - 字串

華夏公益教科書