iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0
自我挑戰組

菜鳥的前端學習筆記系列 第 13

DAY13 - 陣列

  • 分享至 

  • xImage
  •  

前言

這幾天來認識一下陣列吧!今天先介紹陣列,明天會開始認識一些常用語法


陣列Array

陣列是種有次序的資料結構,陣列內可以放入任何值,在JS中是隸屬於物件型態,其最大的特色就是能運用索引(index)進行存取資料,需要特別記得的地方是陣列內起始索引是0,即第一個值的索引是0、第二個值是1、第三個值是2...以此類推。


操作方法

首先我們可以透過下面的方法來宣告陣列

const numbers = [0, 1, 2, 3, 4, 5]

陣列裡可以放進各式各樣的資料型態(數字、字串、物件等等),我們可以運用索引來存取陣列資料或運用length來查看陣列內有多少資料,又或是抽換特定陣列元素的值

const numbers = [0, 1, 2, 3, 4, 5]
console.log(numbers[2]) // 2 <-- 索引為2的資料
console.log(numbers.length) // 6 <-- 陣列的長度
console.log(numbers[numbers.length - 1]) // 5 <-- 取出陣列最大索引的值

numbers[0] = 6
console.log(numbers) // [6, 1, 2, 3, 4, 5]

我們還可以使用for迴圈搭配length的方法來列舉出陣列內的每一個值,操作方式及條件皆可視需求而進行調整,這邊先舉個例子作為參考:

const numbers = [0, 1, 2, 3, 4, 5]
for (let i = 0; i < numbers.length; i++ ) {
	console.log(numbers[i])  // 將陣列內每一個值按次序輸出
}

接下來在陣列中我們也可以運用一些方法來新增及刪除陣列資料,今天先認識從陣列的頭部及尾部插入或刪除資料:

const numbers = [0, 1, 2, 3, 4, 5]

numbers.unshift(-1)  // 陣列頭部插入資料
console.log(numbers) // [-1, 0, 1, 2, 3, 4, 5]

numbers.shift() // 刪除陣列頭部資料
console.log(numbers)  // [0, 1, 2, 3, 4, 5]

numbers.push(6)  // 陣列尾部插入資料
console.log(numbers) // [0, 1, 2, 3, 4, 5, 6]

numbers.pop()  // 刪除陣列尾部資料
console.log(numbers) // [0, 1, 2, 3, 4, 5]

陣列的操作方法非常方便,而當越了解陣列的相關操作方法也會隨之讓其運用的方式越多元,但還是要注意使用方法是否會直接改變原陣列?又或者是不會影響原陣列會回傳一新陣列?舉例像shift()來說,他會移除原陣列的第一個元素並回傳給你,所以會直接改變原陣列的資料。


字串可以加字串,那陣列加陣列呢?

// 此為錯誤示範
const num_1 = [0, 1, 2]
const num_2 = [3, 4, 5]
console.log(num_1 + num_2) // '0,1,23,4,5'

嗯...看來不能這樣相加呢(欠揍),當想把兩個陣列相加時,可以採用合併陣列concat()語法的方式來進行:

const num_1 = [0, 1, 2]
const num_2 = [3, 4, 5]
const newNumber = num_1.concat(num_2)
console.log(newNumber) // [ 0, 1, 2, 3, 4, 5 ]

concat()push()不一樣的地方在於concat()會新增出陣列,而不會直接變動原陣列,所以當遇到不想變動到原陣列但又需要其進行操作時,也可以考慮使用這個語法哦。


上一篇
DAY12 - 來猜猜數字
下一篇
DAY14 - 陣列常用語法Part1
系列文
菜鳥的前端學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言