---
# System prepended metadata

title: 'JavaScript 學習筆記 - 5: 陣列 & 物件 Array & Object'
tags: [JavaScript 學習筆記]

---

###### tags: `JavaScript 學習筆記`
# JavaScript 學習筆記 - 5: 陣列 & 物件 Array & Object
### 陣列

#### 陣列寫法
```
let colors = ["blue", "red", "green"];
```
宣告了一個變數 colors 並且為陣列
陣列裡面可放所有類別: 字串, 數字, 布林...

#### 讀取陣列
```
let colors = ["blue", "red", "green"];
console.log(colors[0])
```
會讀取到 blue
在程式中第一個資料為 [0]

#### 讀取並宣告新變數
```
let colors = ["blue", "red", "green"];
let goodColor = colors[1];
```
會讀取到 red 並把變數 goodColor 賦予值 red

#### 讀取陣列長度
```
let colors = ["blue", "red", "green"];
let colorsNum = colors.length;
console.log(colors.length);
```
使用 .length 來取得陣列長度

#### 寫入陣列內的值
##### []
```
let colors = [];
colors[0] = "blue";
colors[1] = "red";
colors[3] = "pink";
colors = ["blue", "red", empty, "pink"]
```
依照指定位置放入資料
會有四筆資料
其中 [2] 會是 empty
##### push
```
let colors = ["red"];
colors.push("orange");
colors = ["red", "orange"]
```
可直接把值加入陣列中
從最後一個位置放入
##### unshift
```
let colors = ["red"];
colors.unshift("orange");
colors = ["orange", "red"]
```
可直接把值放入陣列中
從第一個位置放入

#### 刪除陣列內的值
##### pop
```
let colors = ["blue", "red", "green"];
colors.pop();
colors = ["blue", "red"]
```
從最後一個值開始刪除
##### shift
```
let colors = ["blue", "red", "green"];
colors.shift();
colors = ["red", "green"]
```
從第一個值開始刪除

##### splice
```
let colors = ["blue", "red", "green"];
colors.splice(1 , 1);
colors = ["blue", "green"]
```
刪除指定位置的值
第一個數字: 起始位置
第二個數字: 要往後刪除幾筆資料

### 陣列與物件合併應用
```
let market = [
    {
        bossName: "Andy",
        bananaNum: 3,
        appleNum: 5,
        isOpen: true
    },
    {
        bossName: "Tony",
        bananaNum: 6,
        appleNum: 2,
        isOpen: true
    }
]
```
陣列之中可裝物件

#### 讀取陣列中的物件資料
```
變數
變數[]
變數[].屬性
```

小技巧:
物件用 "." 取得資料
陣列用 "[]" 取得資料

在陣列中的物件資料可用兩種方式讀取
```
變數[序位].屬性
```
或是
```
變數[序位]["屬性"]
```

#### 



#### JSON 
共通傳遞資料的格式
常見於後端使用也用於Minecraft

##### 如何去讀取公開JSON資料
先行安裝相關套件: JSONview Chrome套件
可容易看出資料結構

