iT邦幫忙

1

【JavaScript】陣列與常用的四種新增刪除方法

  • 分享至 

  • xImage
  •  

【前言】
本系列為個人前端學習之路的學習筆記,在過往的學習過程中累積了很多筆記,如今想藉著IT邦幫忙這個平台做整理+再複習。
本系列標題一律以【】標示該篇文章主要涉及的內容,例如【JavaScript】、【Vue】等等。
若內容有誤,還麻煩各路大神不吝於點出問題,感激不敬。


在JavaScript的世界中,陣列可以更有效率地把資料靈活運用
如果我們每多一筆資料,就必須新增一個變數,那將雜亂無章
因此,我們可以使用陣列來儲存多筆資料
陣列寫法是[ 資料1, 資料2 ]
一個簡單的範例:

var colors = ["red", "blue"];

使用陣列[第幾筆]就可以找到該筆資料

var colors = ["red", "blue"];
console.log(colors[1]); //blue

這裡要注意的是在JavaScript的世界中陣列是從0開始的,是第0筆、第1筆.......以此類推
因此這裡colors[1]會是blue而不是red

新增資料的方法

陣列通常以陣列.unshift(新資料)陣列.push(新資料)來新增資料到陣列中
unshift()和push()兩個如同之前提過的forEach()一樣是用來操作陣列的方法,只要是陣列就可以使用
兩者的用途都是將一筆新資料新增到陣列中
不同的是,unshift()是新增到陣列最前方,push()則是新增到最後方

var colors = ["red", "blue"];
colors.unshift("unshift到第一筆");
colors.push("push到最後一筆");
console.log(colors); //(4) ['unshift到第一筆', 'red', 'blue', 'push到最後一筆']

由於我們在將陣列資料印在畫面上時通常會從第0筆開始依序渲染
例如一個用來儲存「最新消息」的陣列,可能就會把前五筆資料印在畫面上,此時可能用unshift()就比較符合需要(不過反過來說也可以改成把最後五筆資料印在畫面上,所以其實端看想怎麼寫)
因此,根據自身的邏輯去選用unshift()和push()即可

刪除資料的方法

陣列通常以陣列.shift()陣列.pop()來刪除陣列中的資料
shift()和pop()兩者的用途都是將陣列中的一筆資料刪除
不同的是,shift()是刪除第一筆,pop()是刪除最後一筆
而且因為是刪除,跟新增不同並不用帶上參數

var colors = ["red", "blue", "black"];
colors.shift(); //刪掉第0筆"red"
console.log(colors); //(2) ['blue', 'black']
colors.pop(); //刪掉最後1筆"black"
console.log(colors); //['blue']

以上,就是陣列與常用的四種新增刪除方法
過去在操作陣列時,通常只慣用push()
後來就會遇到一些很難解的問題,後來學習了更多之後才發現JavaScript在陣列的操作上真的給足了方法
可以輕易地讓我們在想要的位置新增刪除
也解決了我不少問題,因此整理筆記時把這段獨立成文


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
galaxian85
iT邦新手 4 級 ‧ 2022-03-17 11:17:23

shiftpop 可不只是刪除元素而已
他們還會回傳被移除的元素

const arr = [1, 2, 3, 4, 5]
const pop = arr.pop()
console.log(pop) // 5
const shift = arr.shift()
console.log(shift) // 1
console.log(arr) // [2, 3, 4]

如果把陣列想像成是一串珍珠項鍊
shift 就是從頭拿出一顆珍珠
pop 則是從尾端拿出一顆珍珠

感謝說明,漲知識了!

我要留言

立即登入留言