[javascript] (重要) 物件 & 陣列
重點整理
- 在 JavaScript 中,除了七種純值外,其他資料型別都是物件型別。
- 陣列(array)以
[]
中括號表示,可以想像成是有順序的箱子之集合。
- 宣告陣列:
let arr = []
- 放入值:
arr.push(value)
- 取得值:
arr[index]
- 取得陣列長度:
arr.length
- 物件(object)以
{}
大括號表示,是被賦予值的名稱之組合,在記憶體中是 名稱/值 的配對。 - 物件裡的值:可以是任何東西(例如:純值、函式、陣列等。)
- 宣告物件:
let obj = {}
- 放入組合:
obj.name = 'mia'
orobj[name] = 'mia'
- 取出值:
obj.name
orobj[name]
- 將組合從物件刪除:
delete obj.name
https://miahsuwork.medium.com/%E7%AC%AC%E5%9B%9B%E9%80%B1-javascript-%E9%99%A3%E5%88%97-array-%E8%88%87-%E7%89%A9%E4%BB%B6-object-25f13e3d3c92
陣列(Array)
- 是包含許多值的集合,是有順序性的物件。
[補充說明] 陣列可以放入沒有順序性或沒有關聯性的資料嗎?可以,但就失去了陣列的意義。大部分的程式語言,陣列可以包含一連串相同型別的東西(例如:數字陣列、字串陣列、物件陣列),JS 的陣列與其他語言不太相同的是,因為動態型別的關係,他會立刻知道東西的型別,因此他可以放入不相同型別的東西。
- 陣列在記憶體中是 索引/值 的配對。
- 舉例來說:儲存全班同學的數學成績,資料是有順序性及關聯性的(有序集合、列隊),因此就適合用陣列儲存。
- 通常會搭配迴(loop)使用。
- 用中括號表示[]。
創造陣列
方法1. 創造一個空陣列(常見用法) : let score = []
方法2. 利用函式建構式創造一個空物件: let score = new Array()
- 語法:
let score = [ value, value, value, value, …]
- 語法說明:
1. 索引index
:從 0 開始。
2. 值value
:可以是任何型態,但通常會放純值。 - 範例:
let score = [ 94, 80, 60, 75, …]
將值放入陣列
方法1. 直接創造一個有值的陣列
- 範例:
let array = [ 1, 2, 3, 4]
物件(Object)
- 陣列通常用於「相似、有順序性」的資料,而物件,就是什麼東西都可以放。
- 物件是被賦予值的名稱之組合,在記憶體中是 名稱/值 的配對。
let person = { key : value, key : value, key : value, }
- 語法說明:
1. 名稱key
:盡量避免使用「數字開頭」、「帶有空格的字串」、「帶有特殊字元」
2. 值value
:可以是任何東西,例如:純值、函式、陣列、物件等。 #對,物件可以再放入物件喔! - 範例
let person = { firstName: "Tony", lastName: "Alicia", scores: [1, 2, 3] age: 20, food: { breakfast: "banana", lunch: :有轉彎的雞腿便當", dinner: "McDonald’s" }, method: function() { …. },}
創造物件
方法1. 創造一個空物件(常見的方式):let person = {}
方法2. 利用函式建構式創造一個空物件:let person = new Object()
方法3. 創造物件並放入組合
將組合(名稱/值)放入物件
方法1. 直接創造一個有組合的物件
let person = { firstName: "Tony", lastName: "Alicia",}
方法2. 利用 .
: person.firstName = Tony
方法3. 利用[]
:person['firstName'] = Tony
[補充說明] 使用 [] 一定要加上引號,告訴 JavaScrip 這是一個字串
留言
張貼留言