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数组中的元素如何实现累加效果的详细内容,更多请关注其它相关文章!