iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
0
自我挑戰組

大器可以晚成—— 30歲才開始的轉職工程師之路系列 第 17

[ Day 17 | JS ] forEach 處理陣列的方法之一

forEach 會將陣列中所有的元素依序跑過一遍,例如下面的函式,陣列中有幾筆資料它就會跑幾次。

基本寫法如下:

let arr = [1, 3, 5, 7, 9];

arr.forEach(function(item, index) {
  console.log(item);
});

// 1
// 3
// 5
// 7
// 9
//這些印出的數字是分開的喔,每跑一次只印出一個數字

function(item, index)中的 item 表示陣列中的元素,index 為索引值。
我們來用下面的範例看看會比較清楚:

let arr2 = ['紅', '橙', '黃', '綠', '藍'];

arr2.forEach(function(item, index) {
  console.log(`${index} 號是 ${item}色`);
});

// 0 號是 紅色
// 1 號是 橙色
// 2 號是 黃色
// 3 號是 綠色
// 4 號是 藍色

function(item, index)裡的參數名稱是可以自己更改的,你可以把 item 改成 i、index 改成 x 都沒問題,它固定第一個值就是代表 item ,第二個值就是索引。

用 forEach 來組字串

除了可以一個一個印出來以外,累加數字或組字串也是很常使用的方式。

let arr2 = ['紅', '橙', '黃', '綠', '藍'];
let allColor = '';

arr2.forEach(function(item, index) {
  allColor += item;
});

console.log(allColor);
// 紅橙黃綠藍

首先我們先宣告一個空的字串變數 allColor,接著使用 forEach 去跑 arr2 陣列。
跑第一次時,就將第一筆資料的 item '紅'這個字串給加到原本空的字串中,此時變數 allColor = '紅';
跑第二次時,將第二筆資料的 '橙'這個字串加到 allColor 裡,此時變數 allColor = '紅橙';
藉著以此類推,等陣列全部的資料跑完後就會停止,然後 console.log 印出最後相加後的 allColor 結果。


上一篇
[ Day 16 | Essay ] 是不是真正會成功的人都是默默做事?
下一篇
[ Day 18 | ES 6 ] Template literals 字串樣板
系列文
大器可以晚成—— 30歲才開始的轉職工程師之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言