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-01JavaScript數(shù)組方法-系統(tǒng)性總結(jié)詳解
本文是小編給大家特意整理的關(guān)于js數(shù)組方法的知識,非常實用,在面試筆試題中經(jīng)常用得到,有需要的朋友可以參考下2021-09-09