iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
自我挑戰組

開始入坑網頁吧!系列 第 17

JavaScript Array | 與其他程式語言很不同的陣列(下)

  • 分享至 

  • xImage
  •  

今天接續昨天的Array方法
那我們開始吧!!

splice()

可以新增刪減陣列項目,也能指定位置與數量,並回傳一個包含被刪除元素的陣列
語法:

arrayName.splice(start[, deleteCount[, item1[, item2[, ...]]]])

  • 第一個參數star 是起始index (如果是負的就會由末端往前進行)
  • 第二個參數deleteCount 是你要刪除幾個(如果省略就會全部刪除,如果是0就是不刪)
    EX
//這會全部刪掉
var zoo=['tiger','lion','fish','monkey','cow'];
console.log(zoo.splice(0))//['tiger','lion','fish','monkey','cow']
console.log(zoo);//[]
  • 第三個參數以後就是你要增加的項目
    EX1:現在我要從索引 3 的位置開始,刪除 0 個元素並插入'pig'
var zoo=['tiger','lion','fish','monkey','cow'];
zoo.splice(3,0,'pig');//注意,起始的index是3
console.log(zoo);//["tiger", "lion", "fish", "pig", "monkey", "cow"]

EX2:現在我要從索引 -5的位置開始(從右邊數來第五個),刪除 2 個元素並插入'bear','chicken'

var zoo=['tiger','lion','fish','monkey','cow'];
zoo.splice(-5,2,'bear','chicken')
console.log(zoo);//["bear", "chicken", "fish", "monkey", "cow"]

你會發現tiger 與 lion被刪掉了,bear 與 chicken被插入

indexOf

取得陣列某物件的index(索引)
語法:

arrayName.indexOf(item)

EX:找cow的index

var zoo=['tiger','lion','fish','monkey','cow'];
console.log(zoo.indexOf('cow'));//4

forEach

陣列的迭帶,很像for loop的功能
裡面function的

  • 第一個參數item指的是當下正遍歷的陣列中的項目
  • 第二個參數index指的是當下正遍歷的項目的索引
  • 第二個參數array指的是正在遍歷的陣列

EX:

var zoo=['tiger','lion','fish','monkey','cow'];
zoo.forEach(function(item, index, array) {
  console.log(item, index);
});
//tiger 0
//lion 1
//fish 2
//monkey 3
//cow 4

參見:
MDN Array


上一篇
JavaScript Array | 與其他程式語言很不同的陣列(上)
下一篇
JavaScript Arguments and Spread
系列文
開始入坑網頁吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言