溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript中forEach()方法是干什么的

發(fā)布時間:2021-10-09 18:13:19 來源:億速云 閱讀:195 作者:柒染 欄目:web開發(fā)

本篇文章為大家展示了javascript中forEach()方法是干什么的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在javascript中,forEach()方法用于為數(shù)組執(zhí)行迭代操作,可以調(diào)用數(shù)組的每個元素,并將元素傳遞給回調(diào)函數(shù)進行處理;語法“array.forEach(function(Value,index,arr),thisValue)”。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

Array 類型為每個數(shù)組定義了 forEach() 原型方法,使用該方法可以為數(shù)組執(zhí)行迭代操作。

forEach() 方法用于調(diào)用數(shù)組的每個元素,并將元素傳遞給回調(diào)函數(shù)。

具體語法如下:

array.forEach(function(currentValue, index, arr), thisValue)

參數(shù)說明如下:

  • array:一個數(shù)組對象。

  • function(currentValue, index, arr):必需參數(shù),最多可以接收三個參數(shù)的函數(shù)。forEach 將為數(shù)組中的每個元素調(diào)用 callbackfn 函數(shù)一次。

    • currentValue:必需。當(dāng)前元素

    • index:可選。當(dāng)前元素的索引值。

    • arr:可選。當(dāng)前元素所屬的數(shù)組對象。

  • thisArg:可選參數(shù),callbackfn 函數(shù)中的 this 可引用的對象。如果省略 thisArg,則 this 的值為 undefined。

對于數(shù)組中出現(xiàn)的每個元素,forEach 方法都會調(diào)用 callbackfn 函數(shù)一次,采用升序索引順序,但不會為數(shù)組中空元素調(diào)用回調(diào)函數(shù)。

除了數(shù)組對象之外,forEach 方法還可以用于有 length 屬性且具有已按數(shù)字編制索引的屬性名的任何對象,如關(guān)聯(lián)數(shù)組對象、Arguments 等。

forEach 方法不直接修改原始數(shù)組,但回調(diào)函數(shù)可能會修改它。在 forEach 方法啟動后修改數(shù)組對象所獲得的結(jié)果如表所示。

回調(diào)函數(shù)修改數(shù)組的影響
forEach 方法啟動后的條件元素是否傳遞給回調(diào)函數(shù)
在數(shù)組的原始長度之外添加元素
添加元素以填充數(shù)組中缺少的元素是,如果該索引尚未傳遞給回調(diào)函數(shù)
元素已更改是,如果該元素尚未傳遞給回調(diào)函數(shù)
從數(shù)組中刪除元素否,除非該元素已傳遞給回調(diào)函數(shù)

示例1:使用 forEach 迭代數(shù)組 a,然后把每個元素的值和下標(biāo)索引輸出顯示,代碼如下:

function f(value,index,array) {
    console.log("a[" + index + "] = " + value);
}
var a = ['a', 'b', 'c'];
a.forEach(f);


示例2:使用 forEach 迭代數(shù)組 a,然后計算數(shù)組元素的和并輸出

var a = [10, 11, 12], sum = 0;
a.forEach (function (value) {
    sum += value;
});
console.log(sum);  //返回33

輸出:

33

上述內(nèi)容就是javascript中forEach()方法是干什么的,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI