JS數(shù)組求和的幾種常見方法總結(jié)
這篇文章主要介紹了JS數(shù)組求和的幾種常用方法
方法一:通過原型對象擴(kuò)展內(nèi)置對象方法(即給Array增加方法)
<script>
Array.prototype.sum = function () {
var sum = 0;
for (var i = 0; i < this.length; i++) {
sum += this[i];
}
return sum;
};
var arr = [1, 2, 3, 4];
console.log(arr.sum()); // 10
</script>
方法二:普通for循環(huán)函數(shù)求和
<script>
function sum(arr) {
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
方法三:使用遞歸
<script>
function sum(arr) {
if (arr.length == 0) {
return 0; // 遞歸出口
} else {
return arr[0] + sum(arr.slice(1));
}
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
方法四:函數(shù)式編程reduce
<script>
function sum(arr) {
return arr.reduce(function (total, value) {
return total + value;
}, 0);
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
拓展:注意reduce()方法的最后一個參數(shù)(下面是個特例),避坑!??!

方法五:forEach遍歷
<script>
function sum(arr) {
var s = 0;
arr.forEach(function (value) {
s += value;
});
return s;
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
方法六:eval()方法
<script>
function sum(arr) {
return eval(arr.join("+"));
}
var arr = [1, 2, 3, 4];
console.log(sum(arr)); // 10
</script>
參考文獻(xiàn):
1:JS數(shù)組求和的常用方法總結(jié)【5種方法】.
2:JS函數(shù)式編程里使用Map和Reduce方法.
3:JS中的eval()方法詳解-eval方法的初級應(yīng)用.
總結(jié)
到此這篇關(guān)于JS數(shù)組求和的幾種常見方法總結(jié)的文章就介紹到這了,更多相關(guān)JS數(shù)組求和方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一份老外寫的XMLHttpRequest代碼多瀏覽器支持兼容性
一份老外寫的XMLHttpRequest代碼多瀏覽器支持兼容性...2007-01-01
JavaScript數(shù)組方法-系統(tǒng)性總結(jié)詳解
本文是小編給大家特意整理的關(guān)于js數(shù)組方法的知識,非常實(shí)用,在面試筆試題中經(jīng)常用得到,有需要的朋友可以參考下2021-09-09
js原生實(shí)現(xiàn)移動端手指滑動輪播圖效果的示例
下面小編就為大家分享一篇js原生實(shí)現(xiàn)移動端手指滑動輪播圖效果的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01

