### 什麼是陣列?
- 是一種用來存儲元素集合的**數據結構**。陣列是一個有序的、可迭代的、可修改的集合,每個元素都有一個唯一的索引(index),通常是以零為起始。
### 宣告陣列的方式
- 傳統的宣告方式。
```js
var arr = new Array();
console.log(arr)
// array
```
- 實體語法。
```js
var arr = [];
console.log(arr)
// []
```
- 以目前來說我們**更建議使用實體語法**。
### 基本的使用與序列(索引)
- 我們會以`,`來做一個索引排列:
- 然而,在陣列裡頭,要取得1,並非用數學的1來看待,而是從0開始的。
```js
const arr = [1, 2, 3];
console.log(arr[0]);
// 取得 arr 陣列裡面的第一個索引值,也就是:1
```
### JavaScript 的 array 可以塞各種資料型別:
- 如下案例:
- 由下列案例來看,你可以看到這筆陣列有非常多的資料型態。
```js
const arr = [
1, // number
false, // boolean
{ // object
name: `Tony`,
address: `111 Main St.`,
},
function (name) { // object , 函數也屬於 object
const greeting = "hello";
console.log(greeting + name);
},
"hello", // string
];
console.log(arr);
```
- 所以執行 arr 這個資料結構變數會報錯誤嗎?
- no, 你可以看到以下的輸出結果:
```js
[1, false, {…}, ƒ, 'hello']
```
- 呼叫陣列內的函數,並且充分利用物件內的名稱來完成本範例:
```js
const arr = [
1, // 0
false, // 1
// 2
{
name: `Tony`,
address: `111 Main St.`,
},
// 3
function (name) {
const greeting = "hello, ";
console.log(greeting + name);
},
"hello",
];
arr[3](arr[2].name);
// outputs:
hello, Tony
```