iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
自我挑戰組

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

DAY14 - 陣列常用語法Part1

  • 分享至 

  • xImage
  •  

前言

這兩天想羅列出在陣列中較為常用的語法來逐一認識,陣列的語法很多而且有些又很相似,剛學習時真的很容易搞混,所以想藉這個機會來好好整理複習。


splice()

使用於移除或新增陣列元素,但要注意它會直接改變原陣列的內容,假如不希望改變原陣列內容要記得換個語法使用。splice()包含三個參數:

  1. 移除或要添加的索引
  2. 要移除的長度(不填的話則是前一個參數索引以後的元素均移除,而若設定為0則不會有元素被移除)
  3. 添加的內容(若只是要移除元素沒有要新增元素的話可以不填)
let number = [0, 1, 2, 3, 4, 5]
number.splice(3, 1)
console.log(number) // [0, 1, 2, 4, 5] <-- 3被移除了
number.splice(3, 0, 100)
console.log(number) // [0, 1, 2, 100, 4, 5] <-- 沒有元素被移除並在索引3插入100

slice()

可擷取陣列某部份元素成為一個新陣列,要注意它不會改變原陣列,而是新增出一個陣列。slice()有兩個參數:

  1. 起始索引
  2. 結束索引(注意實際擷取到的內容會是該索引前一位)
const number = [0, 1, 2, 3, 4, 5]
const newNumber = number.slice(2, 4)
console.log(newNumber) // [2, 3] <--結束索引會擷取到該索引的前一位

split()

字串由指定字串當作分割位置,並以此為據將字串分割成一個陣列:

const number = '0 1 2 3 4 5'
console.log(number.split(' ')) // ['0', '1', '2', '3', '4', '5']

join()

陣列內所有元素由指定字串合併在一起成為字串,若沒有指定則預設會以逗號進行合併:

const number = [0, 1, 2, 3, 4, 5]
console.log(number.join('')) // '012345'

reverse()

將陣列進行反轉,需要注意reverse()也會直接改變原陣列內容:

const number = [0, 1, 2, 3, 4, 5]
number.reverse()
console.log(number) // [5, 4, 3, 2, 1, 0]

indexOf()

判斷陣列裡面是否有包含某個值,如果有就會回傳該值於陣列內的索引,如果沒有便會回傳-1,indexOf()有兩個參數:

  1. 需要判斷的值
  2. 從哪個索引開始判斷(不填即從0開始)
const number = [0, 1, 2, 3, 4, 5]
console.log(number.indexOf(4)) // 4
console.log(number.indexOf(6)) // -1

字串也同時是字元陣列

其實字串也有自己的索引,我們同樣可以運用陣列索引的方式來取出字串中的特定字元(若找不到字元時會回傳underfined),但要特別注意的是我們只能讀取字元,不能透過這種方法來改變字串內容,如果要改變字串內容還是需要重新指派整個內容。

let str = 'String'
console.log(str[3]) // i
str[3] = 'I'
console.log(str[3]) // i <-- 不會有改變
console.log(str[9]) // underfined

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

尚未有邦友留言

立即登入留言