JavaScript Array reduce() 方法

定义和用法

reduce() 方法将数组缩减为单个值。

reduce() 方法为数组的每个值(从左到右)执行提供的函数。

函数的返回值存储在累加器中(结果/总计)。

注释:对没有值的数组元素,不执行 reduce() 方法。

注释:reduce() 方法不会改变原始数组。

实例

例子 1

从头开始减去数组中的数字:

var numbers = [175, 50, 25];
document.getElementById("demo").innerHTML = numbers.reduce(myFunc);
function myFunc(total, num) {
  return total - num;
}

ການທົດລອງຕົວເອງ

Example 2

Round all numbers in the array and display the sum:

<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) ສະບັບ. ວິທີການທີ່ຈະດຳເນີນກັບແຕ່ລະປະກອບຂອງສານ.

ປະເພດວິທີການ:

ປະເພດ ການອະທິບາຍ
total ສະບັບ. initialValue ຫຼື ຈຳນວນທີ່ຫາກຜ່ານການເກັບຄືນຄັນການອອກຮູບພາບ.
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

ຫົວຂໍ້ຂະໜານ

教程:JavaScript ອົງປະກອບ

教程:JavaScript 数组 Const

教程:JavaScript 数组方法

教程:JavaScript 排序数组

教程:JavaScript 数组迭代

手册:Array.reduceRight() 方法