Day04 JavaScript Array(陣列)

更新 發佈閱讀 6 分鐘


什麼是Array(陣列)

array跟object一樣是一種資料的容器,不同的是array通常用來裝同類別的資料,就像是書架用來收納書。要在書架裡放書跟其他東西也是可以的,但就是有點奇怪,不是大家習慣的做法。

array透過[]宣告。

假設我們要儲存使用者喜歡的顏色這筆資料,每筆資料的類型都是類似的,而且幾乎可以肯定不會只有一組。這時候就很適合用array。

vocus|新世代的創作平台


觀察array可以看見它的架構:

let array = []


array的好處就是能夠井然有序的管理同類型的資料。

Array資料類型

JavaScript的世界可以說是處處不受限,array裡面想放什麼資料都是允許的。

vocus|新世代的創作平台


雖然array內通常會放同類型的資料,但由於JS的自由性,如果某人很反社會的話,資料也可以混用,也就是array同時有string, number, boolean

當然,強烈建議不要做這種傻事,除了有被合作夥伴殺掉的風險外,過幾個禮拜後的自己也會恨死自己。很容易忘記裡面到底擺了什麼,也很難瞭解規則。

Array內的Object

除了一般的資料型態外,array裡也可以放object。

假設我們有一筆使用者有關的資料,可以把資料整理成object再放進array。

記得,{}是object的宣告。

記得,{}是object的宣告。

這裡為了方便閱讀換了行,但主要結構還是[]包著{},也就是array裡放object


事實上,許多軟體資料都是由array跟object共同組成。Instagram的貼文是貼文array裡許多的object。大概是像這樣:

貼文資料通常有作者、標題、內文。當然,真實情況資料會更複雜。

貼文資料通常有作者、標題、內文。當然,真實情況資料會更複雜。

存取array資料

跟object不同,array裡沒有資料的標籤可以找資料(不像object的property),我們只能透過array內的編號來存取。是的,array裡放資料的順序可以讓我們定位資料,順序從0開始。

還記得之前提到過的console.log()嗎?它可以讓Console印出東西。這裡我們要用到了。

vocus|新世代的創作平台

輸入完之後打開Console,可以按Codepen底下的Console按鈕。也可以直接cmd + option + if12 打開瀏覽器的Console。

打開Codepen的Console,可以看見'black'被印出來了!

打開Codepen的Console,可以看見'black'被印出來了!

因為’black’bestColors的第0個,所以它被印出來!

存取array裡object的資料

要存取array資料可以用[],要存取object資料可以用.,我們可以合併使用。

vocus|新世代的創作平台
存取到array裡第一個object的title。

存取到array裡第一個object的title。

array內建的method

由於array其實是一種特別的object,我們也能透過.去存取property或是內建的method。

另外,神奇的是,在JS的世界裡幾乎所有內容都其實是種object,不管是stringfunction或是number。換句話說,我們都能透過.去存取內建的property或是method。


感謝前人的努力,有很多的method讓我們可以不用自己寫程式的情況下完成複雜的操作。

舉例來說,在宣告一個string後,如果我們想把一串字都變大寫,可以用string內建的method。

vocus|新世代的創作平台
這個內建的method把字都變大寫了。

這個內建的method把字都變大寫了。

太方便了…

我們不用一個字一個字處理,像其他程式語言在做的那樣,只需要一個method。再一次,感謝前人的努力…


回到array!

Push

其中array的push()可以讓我們把新資料加在最後面。

vocus|新世代的創作平台
可以看見我們的bestColors array最後多了新增的'white'。

可以看見我們的bestColors array最後多了新增的'white'。



Splice

splice()需要兩個參數,第一個是從哪開始刪除,第二個代表要刪除幾個。

如果我想從bestColors刪除’yellow’,那就是從編號2開始,刪除1個。

vocus|新世代的創作平台
成功把位在編號2的'yellow'刪除了(編號是從0開始!)。

成功把位在編號2的'yellow'刪除了(編號是從0開始!)。


這裡只是做幾個簡單的示範。諸如此類的method還有很多,有無數個那麼多。我們只需要一步一步在需要用的時候了解、使用即可,不需要每個都熟記。重點是了解array的骨架,還有它的使用情境。

小結

程式語言最棒的就是自動化,當我們把資料放進array後,我們能夠用內建的method一次處理所以相似的資料。目前我們還沒講到這樣的method,不過可以先把這件事放在心上。

在這個單元,我們只需要知道:array跟object一樣,是一種資料的容器,通常用來儲存同樣資料型態的資料(像書架那樣)。而我們會透過[]來存取array的值,透過.使用array內建的method。


接下來,我們會討論JavaScript中的條件判斷。


Resource

今日Codepen

連結

Credits

關於我

我是Erkin, 一個網站開發者。
有任何疑問或是想勘誤的話歡迎聯繫。

留言
avatar-img
HCY 71的沙龍
0會員
11內容數
HCY 71的沙龍的其他內容
2024/11/04
這個單元裡我們會繼續用Codepen來製作簡單的To-Do List app。裡面會使用到基本的HTML和CSS來製作UI,別擔心會非常簡單。示範的Codpen同樣會附在今天的內容裡面,如果想看成果的話可以直接點前往。 基礎架構 為了完成這個web app,我們必須先理解HTML、CSS之間
Thumbnail
2024/11/04
這個單元裡我們會繼續用Codepen來製作簡單的To-Do List app。裡面會使用到基本的HTML和CSS來製作UI,別擔心會非常簡單。示範的Codpen同樣會附在今天的內容裡面,如果想看成果的話可以直接點前往。 基礎架構 為了完成這個web app,我們必須先理解HTML、CSS之間
Thumbnail
2024/11/04
在JavaScript裡面,Async和Await應該是搜尋熱度最高的關鍵字了,因為他們相對複雜。我們一步步討論這件事的歷史 — 它們為什麼出現,解決了什麼問題。 JavaScript的Synchronous(同步) 首先我們必須了解JavaScript執行的基本原則 — synchrono
Thumbnail
2024/11/04
在JavaScript裡面,Async和Await應該是搜尋熱度最高的關鍵字了,因為他們相對複雜。我們一步步討論這件事的歷史 — 它們為什麼出現,解決了什麼問題。 JavaScript的Synchronous(同步) 首先我們必須了解JavaScript執行的基本原則 — synchrono
Thumbnail
2024/11/04
今天要談的內容也是JavaScript很核心的部分,即使學完了先前的章節,馬上去看別人寫的JavaScript程式碼還是會看不懂,主要是因為JS開發者會採用各種簡化和替代的寫法,我們一一討論。 Anonymous(匿名) Function 首先我們要討論的是Anonymous(匿名) Fun
Thumbnail
2024/11/04
今天要談的內容也是JavaScript很核心的部分,即使學完了先前的章節,馬上去看別人寫的JavaScript程式碼還是會看不懂,主要是因為JS開發者會採用各種簡化和替代的寫法,我們一一討論。 Anonymous(匿名) Function 首先我們要討論的是Anonymous(匿名) Fun
Thumbnail
看更多
你可能也想看
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
一切從"物件(Object)"開始 1.建立新物件 2.編輯物件內容 3.在物件中新增區塊
Thumbnail
一切從"物件(Object)"開始 1.建立新物件 2.編輯物件內容 3.在物件中新增區塊
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
此章節旨在介紹Java程式語言中的各種資料型別,包括基本型別、引用型別、集合型別、陣列型別、字典型別等。它還講解了如何在Java中進行型別轉換和自定義型別,並提供了相關的程式碼示例。
Thumbnail
此章節旨在介紹Java程式語言中的各種資料型別,包括基本型別、引用型別、集合型別、陣列型別、字典型別等。它還講解了如何在Java中進行型別轉換和自定義型別,並提供了相關的程式碼示例。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本章節旨在介紹 TypeScript 的基本資料型別,包括內建型別、型別轉換、自訂型別、元組、集合、陣列、和字典型別。透過理解和使用這些型別,可以提高代碼的可讀性和可維護性。
Thumbnail
本章節旨在介紹 TypeScript 的基本資料型別,包括內建型別、型別轉換、自訂型別、元組、集合、陣列、和字典型別。透過理解和使用這些型別,可以提高代碼的可讀性和可維護性。
Thumbnail
一般在使用 TypeScript 的時候,大家都有遇過定義列舉資料的情境吧。 不過不管是 enum 和 literal 的方式其實都有些小缺點,以下推薦一個個人認為體驗更好的方式。
Thumbnail
一般在使用 TypeScript 的時候,大家都有遇過定義列舉資料的情境吧。 不過不管是 enum 和 literal 的方式其實都有些小缺點,以下推薦一個個人認為體驗更好的方式。
Thumbnail
這篇內容,將會講解什麼是陣列,以及與陣列相關的知識。包括陣列的簡介、陣列的資料限制、陣列的維度、一維陣列、二維陣列。
Thumbnail
這篇內容,將會講解什麼是陣列,以及與陣列相關的知識。包括陣列的簡介、陣列的資料限制、陣列的維度、一維陣列、二維陣列。
Thumbnail
本章節旨在介紹JavaScript中的物件導向編程。內容包括類別(Class)的定義和使用,建構子的作用,以及公開,私有,受保護(Protected)等不同訪問修飾符的概念。此外,還涵蓋了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型、反射等物件導向的主要觀念。
Thumbnail
本章節旨在介紹JavaScript中的物件導向編程。內容包括類別(Class)的定義和使用,建構子的作用,以及公開,私有,受保護(Protected)等不同訪問修飾符的概念。此外,還涵蓋了繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型、反射等物件導向的主要觀念。
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
Thumbnail
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
Thumbnail
本章節的目的是介紹Java中的套件使用,包括如何引用第三方套件和自定義模組,如何創建和使用自定義套件,以及介紹一些常見的Java標準庫套件。這些內容將幫助讀者更好地理解和使用Java的套件系統。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News