如果一次有很多筆的資料內容,特地給每一個都設個變數的話後續可能會搞混要調用的資料。陣列可以把這些資料都放在同一組裡面。
const week = ["星期一", "星期二", "星期三"];
陣列中的每一個位置都有編號,這個編號叫做索引。索引從 0 開始,所以陣列中的第一筆不會是從1開始而是從0
console.log(week[0]);
console.log(week[1]);
console.log("有幾筆資料", week.length);
console.log("最後一筆", week.at(-1));

.length會取得陣列目前有幾筆資料。這裡的長度是 3,因此最後一筆的索引是 2,也就是length - 1。如果只是想取得最後一筆,也可以使用week.at(-1)。
console.log(lessons[lessons.length - 1]); // 條件判斷
console.log(lessons.at(-1)); // 條件判斷
讀取時使用索引,修改內容時也是一樣。現在我來將「星期二」改成「 Tuesday」:
week[1] = " Tuesday";
console.log("修改第二筆資料後:", week);

之前知道了明明const不能重新指定也不能進行更改,但是這裡卻能將資料內容week[1]改掉。原因是因為現在的week仍然指向同一個陣列,改變的只是陣列裡面的內容。但如果寫成week = ["星期"],這就會是進行重新指定,程式就會報錯。
接著是增加與移除。push會從陣列尾端加入資料,pop會移除尾端資料;unshift與shift則是處理開頭。

week.push("星期四");
console.log("從尾端加入後:", week);
const lastweek = week.pop();
console.log("從尾端取出:", lastweek);
console.log("目前陣列:", week);
week.unshift("星期天");
console.log("從最前面加入:", week);
const firstweek = week.shift();
console.log("從最前面取出:", firstweek);
console.log("目前陣列:", week);

要注意的是,push、pop、unshift和shift都會直接改變原本的陣列。取出的資料可以用變數接住,像上面的lastweek就是被pop移除的內容。
最後來比較名稱很像的slice與splice。slice(0, 2)會複製索引 0 到索引 2 之前的內容,原本的陣列不會改變;splice(1, 1)則會從索引 1 開始刪除一筆,原陣列也會跟著少一筆。

const firstTwo = week.slice(0, 2);
console.log("slice 取得:", firstTwo);
console.log("slice 後的原陣列:", week);
const removed = week.splice(1, 1);
console.log("splice 移除:", removed);
console.log("splice 後的原陣列:", week);