欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

js数组中的元素如何实现累加效果

程序员文章站 2022-03-22 22:04:35
...
上一篇文章中我们了解了创建一个具有可变数量的数组的方法,请看《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>

这个小例子的结果是

js数组中的元素如何实现累加效果

我们可以结合题目观察一下结果,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数组中的元素如何实现累加效果的详细内容,更多请关注其它相关文章!

相关标签: javascript