溫馨提示×

溫馨提示×

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

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

如何用JavaScript求數(shù)組的總和

發(fā)布時間:2021-11-22 16:07:55 來源:億速云 閱讀:205 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“如何用JavaScript求數(shù)組的總和”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

方法:1、用“arr.reduce(function f(pre,curr){return pre+cur})”語句;2、用“arr.reduceRight(function f(pre,curr){return pre+cur})”。

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

用JavaScript求數(shù)組的總和

方法1:使用reduce()

reduce()    將數(shù)組元素計算為一個值(從左到右)。

var a = [1, 2, 3, 4, 5];
var b =a.reduce(function f(pre, curr){
	return pre + curr;
	});
console.log(b);

如何用JavaScript求數(shù)組的總和

說明:

reduce() 方法可對數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)。該回調(diào)函數(shù)的返回值為累積結果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時作為參數(shù)提供。具體用法如下:

array.reduce(callbackfn[, initialVaule]);

參數(shù)說明:

  • array:必需參數(shù),一個數(shù)組對象。

  • callbackfn:必需參數(shù),一個接受最多四個參數(shù)的函數(shù)。對于數(shù)組中的每個元素,recude() 方法都會調(diào)用 callbackfn 函數(shù)一次。

  • initialVaule:可選參數(shù),如果指定 initialVaule,則它將用作初始值來啟動累積。第一次調(diào)用 callbackfn 函數(shù)會將此值作為參數(shù)而非數(shù)組值提供。

reduce() 方法的返回值是通過最后一次調(diào)用回調(diào)函數(shù)獲得的累積結果。

如果提供了參數(shù) initialVaule,則 reduce() 方法會對數(shù)組中的每個元素調(diào)用一次 callbackfn 函數(shù)(按升序索引順序);如果為提供 initialVaule,則 reduce() 方法會對從第 2 個元素開始的每個元素調(diào)用 callbackfn 函數(shù)。

回調(diào)函數(shù)的返回值在下一次調(diào)用回調(diào)函數(shù)時作為 previousValue 參數(shù)提供。最后一次調(diào)用回調(diào)函數(shù)獲得的返回值為 recude() 方法的返回值。該方法不為數(shù)組中缺少的元素調(diào)用該回調(diào)函數(shù)。

回調(diào)函數(shù)的語法如下:

function callbackfn(previousValue, currentVaule, currentIndex, array);

回調(diào)函數(shù)參數(shù)說明:

  • previousValue:通過上一次調(diào)用回調(diào)函數(shù)獲得的值。如果向 reduce() 方法提供 initialValue,則在首次調(diào)用函數(shù)時,previousValue 為 initialValue。

  • currentVaule:當前元素數(shù)組的值。

  • currentIndex:當前數(shù)組元素的數(shù)字索引。

  • array:包含該元素的數(shù)組對象。

在第一次調(diào)用回調(diào)函數(shù)時,作為參數(shù)提供的值取決于 reduce() 方法是否具有 initialValue 參數(shù)。如果向 recude() 方法提供 initialValue,則 previousValue 參數(shù)為 initialValue,currentValue 參數(shù)是數(shù)組中第 1 個元素的值。

方法2:使用reduceRight()

reduceRight()    將數(shù)組元素計算為一個值(從右到左)。

var arr = [1, 2, 3, 4, 5, 5];
var b =arr.reduceRight(function f(pre, curr){
	return pre + curr;
	});
console.log(b);

如何用JavaScript求數(shù)組的總和

說明:

reduceRight() 方法可從右向左對數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)。該回調(diào)函數(shù)的返回值為累積結果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時作為參數(shù)提供。具體用法如下:

array.reduceRight(callbackfn[, initialValue]);

該方法的語法和用法與 reduce() 方法大概相同,唯一不同的是,它是從數(shù)組右側開始調(diào)用回調(diào)函數(shù)。如果提供了 initialValue,則 reduceRight() 方法會按降序索引順序對數(shù)組中的每個元素調(diào)用一次 callbackfn 函數(shù)。如果未提供 initialValue,則 reduceRight() 方法會按降序索引順序對每個元素(從倒數(shù)第 2 個元素開始)調(diào)用 callbackfn 函數(shù)。

“如何用JavaScript求數(shù)組的總和”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

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

AI