Javascript數(shù)組的?forEach?方法詳細介紹
前言
在JavaScript 中數(shù)組的遍歷 有很多中方法, 其中有一種 使用 foreach 來遍歷數(shù)組。
語法:
arr.forEach(callback(currentValue [, index [, array]])[, thisArg])
參數(shù):
callback
為數(shù)組中每個元素執(zhí)行的函數(shù),該函數(shù)接收一至三個參數(shù):currentValue
數(shù)組中正在處理的當前元素。index
可選數(shù)組中正在處理的當前元素的索引。array
可選forEach()
方法正在操作的數(shù)組。
thisArg
可選
可選參數(shù)。當執(zhí)行回調(diào)函數(shù) callback
時,用作 this
的值。
在forEach 中傳入一個 callback 函數(shù), 函數(shù)最多可以接收 三個值, 分別為當前正在遍歷的值, 當前值對應的索引,以及當前數(shù)組本身
小試
現(xiàn)在有一個場景,我和我的室友們,現(xiàn)在在一個數(shù)組里面。 按照排行分別為: 老大,老二,老三, … ,老六, 小七.
var arr = ['Liu laoda', 'Li laoer', 'Wei laosan', 'Frank', 'Guan laowu', 'Yang laoliu', 'Li xiaoqi']; // 在 forEach 中 傳入 一個function ,接收兩個參數(shù) arr.forEach(function(name,index){ console.log(name, ' - ',index); })
結(jié)果如下: 第一個參數(shù)就是 當前遍歷的元素,第二參數(shù)為當前元素的索引
注意: forEach()
為每個數(shù)組元素執(zhí)行一次 callback
函數(shù) ,即每個元素都會執(zhí)行一次callback
函數(shù)
來看看回調(diào)函數(shù)的第三個參數(shù) ,表示 就是這個數(shù)組本身。
var arr = ['Liu laoda', 'Li laoer', 'Wei laosan']; arr.forEach(function(name,index,person){ console.log(name, ' - ',index); console.log(person); })
還有一個參數(shù) thisArg
這個參數(shù)
當回調(diào)函數(shù)執(zhí)行的時候, 回調(diào)函數(shù)中 使用this 就是這個值。來看一個例子
var arr = ['Liu laoda', 'Li laoer', 'Wei laosan']; // thisArg 此時傳入 {'name':'frank'},當回調(diào)函數(shù)執(zhí)行的時候,this 就是這個值。 arr.forEach(function(name,index){ console.log(this); },{'name':'frank'})
如果省略了 thisArg
參數(shù),或者其值為 null
或 undefined
,this
則指向全局對象。
var arr = ['Liu laoda', 'Li laoer', 'Wei laosan']; // 沒有傳thisArg 參數(shù) arr.forEach(function(name,index){ // 此時是window console.log(this); })
使用forEach注意事項
除了拋出異常以外,沒有辦法中止或跳出 forEach()
循環(huán)。如果你需要中止或跳出循環(huán),forEach()
方法不是應當使用的工具。
forEach 不支持 break這種語句退出循環(huán)。
如果你想在遍歷數(shù)組的過程中想要 提前終止循環(huán),就不要使用 forEach 遍歷, 可以使用for 循環(huán)來遍歷數(shù)組.
例如:我只想遍歷到i==0 的時候,提前終止循環(huán)
var arr = ['Liu laoda', 'Li laoer', 'Wei laosan']; for (let i = 0; i < arr.length; i++) { if (i === 1) { break; } console.log(arr[i],'-', i); } // Liu laoda - 0
到此這篇關(guān)于Javascript數(shù)組的 forEach 方法詳細介紹的文章就介紹到這了,更多相關(guān)JS forEach內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript中的50+個實用工具函數(shù)小結(jié)
JavaScript可以做很多出色的事情,本篇文章給大家整理50+個實用工具函數(shù),可以幫助你提高工作效率并可以幫助調(diào)試代碼,需要的朋友們下面隨著小編來一起學習學習吧2021-06-06TypeScript中Map對象使用及Map與字典的區(qū)別詳解
Map對象主要的應用場景在于數(shù)據(jù)重組和數(shù)據(jù)儲存,下面這篇文章主要給大家介紹了TypeScript中Map對象使用及Map與字典的區(qū)別的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-01-01BootStrap Table復選框默認選中功能的實現(xiàn)代碼(從數(shù)據(jù)庫獲取到對應的狀態(tài)進行判斷是否為選中狀態(tài))
本文通過實例代碼給大家介紹了BootStrap Table復選框默認選中功能(從數(shù)據(jù)庫獲取到對應的狀態(tài)進行判斷是否為選中狀態(tài)),代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧2017-07-07javaScript 判斷字符串是否為數(shù)字的簡單方法
javascript在通過parseIn或parseFloat將字符串轉(zhuǎn)化為數(shù)字的過程中,如果字符串中包含有非數(shù)字,那么將會返回NaN,參考下面代碼2009-07-07