JavaScript Array reduce() 方法
- 上一页 push()
- 下一页 reduceRight()
- 返回上一层 Manwal ng Reference ng JavaScript Array
定義和用法
reduce()
方法將數組縮減為單個值。
reduce()
方法為數組的每個值(從左到右)執行提供的函數。
函數的返回值存儲在累加器中(結果/總計)。
註釋:對沒有值的數組元素,不執行 reduce()
方法。
註釋:reduce()
方法不會改變原始數組。
實例
例子 1
從頭開始減去數組中的數字:
var numbers = [175, 50, 25]; document.getElementById("demo").innerHTML = numbers.reduce(myFunc); function myFunc(total, num) { return total - num; }
例子 2
四舍五入数组中的所有数字,并显示总和:
<button onclick="myFunction()">Try it</button> <p>Sum of numbers in array: <span id="demo"></span></p> <script> var numbers = [15.5, 2.3, 1.1, 4.7]; function getSum(total, num) { return total + Math.round(num); } function myFunction(item) { document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0); } </script>
语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数值
参数 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function(total, currentValue, index, arr) | 必需。为数组中的每个元素运行的函数。
函数参数:
|
||||||||||
initialValue | 可选。作为初始值传递给函数的值。 |
技术细节
返回值: | 返回上次调用回调函数的累积结果。 |
---|---|
JavaScript 版本: | ECMAScript 5 |
浏览器支持
表格中的数字注明了完全支持该方法的首个浏览器版本。
所有浏览器都完全支持 reduce()
方法:
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome 3 | IE 9 | Edge 12 | Firefox 3 | Safari 5 | Opera 10.5 |
2009 年 6 月 | 2010 年 9 月 | 2015 年 7 月 | 2009 年 1 月 | 2010 年 6 月 | 2010 年 3 月 |
相关页面
- 上一页 push()
- 下一页 reduceRight()
- 返回上一层 Manwal ng Reference ng JavaScript Array