JS筆記 | 那些我常忘的基礎陣列語法:push()、pop()、unshift()、shift()、splice()、includes()

最近都在學 React 框架,從創建組件、組建三大屬性、虛擬 DOM、組件生命週期…等開始慢慢理解,然後發現 React 要學的好,真的是要把 Javascript 的基礎根基開始打穩才有辦法,所以就每週花一天來回顧過往那些常被我忘記的 JS 基礎吧!

話說,超級推薦尚硅谷的 React 免費課程,講的超細 ( 是優點也是小缺點XD ),完完全全的把每一個觀念的緣由講的很清楚,如果有在學 React 框架的人可以參考看看

這次要筆記的就是:

陣列 Array

cover_pic
Photo by Growtika on Unsplash

【 陣列定義 】

說明:

當有很多變數 ( variable ) 要宣告時,就可以用陣列 ( array ),將每個變數放在陣列裡,這樣讀取或取出比較好管理,也不用宣告一堆變數

陣列裡的各個元素可以字串、數字、布林混搭,但最好統一會比較好管理

寫法:

陣列會用 [ ] 包起來,中間的各個元素用 , 隔開

let 陣列名稱 = [ '元素1', '元素2', '元素3' ];
範例:

可以想成假設一個班級裡有五個學生,名字分別為「Amy、John、Cindy、Kevin、Sherry」,如果沒有陣列的話,就要一個一個宣告放在五個變數裡,如下圖,不但宣告麻煩,連要讀取名字時也要去記變數名稱才有辦法讀取

01_variable

所以這時有陣列在就方便很多,上述的名字只要宣告一個陣列,並把所有名字放在裡面就行,如下圖

02_array

【 陣列基本語法 】

1. 取出指定的元素 array.[index]

說明:

要讀取指定的元素,只要知道陣列名稱和該元素的索引值即可,索引值可以想成位置,順序由左到右,只是第一個元素的位置是從 0 開始

寫法:
array[index]
範例:

接下來的範例都以下圖為例,班級 101 有五位學生,我想找到 Sherry 這位同學,所以我只要知道她在哪個班級,然後坐在哪個位置即可,要特別注意的是,剛剛上面有說索引從 0 開始,所以 Sherry 從 0 數過來就會是 4,不是 5 哦

03_取出指定的元素

2. 取出陣列長度 array.length

說明:

每個陣列都一定會有長度,而陣列的長度就是看裡面的元素有幾個,長度就為多少,而索引值一定都是從 0 開始,所以陣列的長度一定會比元素的每個索引值大,同理,如果想取出最後一個元素,直接用「陣列長度-1」就可以輕鬆取出

即使該陣列裡面沒有任何元素,長度也會有值,就是 0

寫法:
array.length
範例:

班級 101 有五位學生,我想知道這個班級有幾位學生,用陣列長度就可以知道,並且也可以用「陣列長度-1」找到該班級最後一個座位的學生

04_取出陣列長度

3. 新增元素至陣列 array.push()、array.unshift()

說明:

新增元素至陣列有幾種方式,分別為以下三種

  • 新增元素至最後面:即索引為「長度減 1」 的位置
  • 新增元素至最前面:即索引為「0」的位置
  • 新增元素至指定的位置:可以自己指定新增的元素要放在陣列裡的哪個位置
寫法:
//新增元素到陣列最後面
array.push(新增的元素)

//新增元素到陣列最前面
array.unshift(新增的元素)

//新增元素到指定的陣列位置
array[index] = 新增的元素
範例:

班級 101 原本有五位學生,後來又來了三個新學生「Kelly, Paul, Ray」
→ 原本的 Sherry 畢業了,換成 Ray 頂替她的位置,所以直接將 Sherry 的座位指定給 Ray
→ Paul 要坐在最前面,所以用 unshift
→ Kelly 要坐在最後面,所以用 push

05_新增元素至陣列

4. 將元素從陣列刪除 array.pop()、array.shift()、array.splice(startIndex,endIndex)

說明:

將元素從陣列中刪除一樣有幾種方式,分別為以下四種

  • 刪除最後面的元素:即將索引為「長度減 1」 位置的元素刪除
  • 刪除最前面的元素:即將索引為「0」位置的元素刪除
  • 刪除指定位置的元素:可以自己指定陣列裡的哪些位置的元素要刪除,也可以刪除連續位置的元素
    → 比如該陣列有 5 個元素,若希望把中間第 2 個到第 4 個元素刪掉,就可以指定從索引 1 ( 第 2 個元素 ) 開始到索引 3 ( 第 4 個元素 ) 的元素都刪除
寫法:
//刪除最後面的元素
array.pop()

//刪除最前面的元素
array.shift()

//刪除指定位置的元素
array.splice(起始索引位置,結尾索引位置)
範例:

班級 101 有五位學生,大部分學生都畢業了,所以要從此班級內刪除學生和座位

→ 坐在第二個位置 ( John ) 和第三個位置 ( Cindy ) 的學生畢業了,所以用 splice
→ 坐在最後面座位 ( Sherry ) 的學生畢業了,所以用 pop
→ 坐在最前面座位 ( Amy ) 的學生畢業了,所以用 shift

06_將元素從陣列刪除

5. 將元素從陣列清除 delete array[index]

說明:

可以自己指定陣列裡的哪個位置的元素要清除,有一點要注意,清除不等於刪除,只是把元素清掉變成空值,那個位置還在哦!所以也不會變動到陣列的長度

寫法:
delete array[index]
範例:

班級 101 有五位學生,其中 Cindy 轉班,但位置依舊留著,所以要用 delete 來清空該座位來給後續新來的學生

07_將元素從陣列清除

6. 確認元素是否在陣列裡 array.includes(‘element’)

說明:

確認陣列裡是否存在某個元素,存在的話會是 true ,不存在的話會是 false

寫法:
array.includes('要查詢的元素')
範例:

班級 101 有五位學生,要確認 Sherry 和 Wendy 是否在此班級內,所以可以用 includes 來尋找

08_確認元素是否在陣列裡

參考:
https://www.tenlong.com.tw/products/9789865027322 ( 書籍 )

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *