js数组中的元素如何实现累加效果
上一篇文章中我们了解了创建一个具有可变数量的数组的方法,请看《js如何创建一个具有可变数量的数组》。这次我们来了解一下数组中的元素实现累加效果的方法,有需要的可以参考参考。
首先我们来看一个小例子。
我们现在有这样一个问题,已知,我们有一个包含1,2,3,4这四个元素的数组,现在我们想知道这个数组中元素的总和是多少,该如何计算呢?如果加上元素two呢?这总和还是一样的吗?
<script> var arr = new Array(7); arr[0] = 1; arr[1] = 2; arr[2] = 3; arr[3] = 4; console.log(arr); const reducer = (accumulator, currentValue) => accumulator + currentValue; console.log(arr.reduce(reducer)); var nums = new Array(7); nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = "two"; console.log(nums); console.log(nums.reduce(reducer)); </script>
这个小例子的结果是
我们可以结合题目观察一下结果,1,2,3,4四个元素累加起来的结果是10,而1,2,3,4和two这五个元素累加的结果是10two。这表明,在这个方法中,如果出现英文的话,英文是不会被过滤的,会直接与数字进行运算。
了解这么多之后,我们去具体看看这个方法吧。
reduce() 方法对数组中的每个元素执行一个由我们提供的reducer函数(升序执行),将其结果汇总为单个返回值。
我们来看看这个方法的语法吧。
数组名称.reduce(执行的函数(累计器的返回值,正在处理的元素,当前元素索引,数组,第一次调用函数时的值)
reduce为数组中的每一个元素依次执行callback函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:
-
accumulator 累计器
-
currentValue 当前值
-
currentIndex 当前索引
-
array 数组
注意:如果没有提供第一次调用函数时的值,reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。如果提供第一次调用函数时的值,从索引0开始。
就说到这里了,有需要的可以看:javascript基础教程
以上就是js数组中的元素如何实现累加效果的详细内容,更多请关注其它相关文章!