Javascript Array.reduce和Array.map方法

在本文中,我们将使用Array.map和Array.reduce方法在javascript中创建一个有趣的程序。

首先,让我们用Array.reduce方法创建一个程序,将该数组中的一个元素与同一数组中的下一个元素相乘。

let multiply = [1, 2, 3, 4, 5]

function multiplication(a, b) {
	return a * b;
}

console.log(multiply.reduce(multiplication)); // 1 * 2 * 3 ^ 4 ^ 5

reduce方法将引入一个函数作为回调函数,正如您从第一次运行该程序时可以看到的,值a将是1,值b将是2.第二次,当乘法函数获得再次调用值a将变为2,这是a * b的返回值,并且值b将变为3,这是数组中的值2之后的下一个值。

假设我们在reduce函数中包含了一个额外的参数,例如1.5,那么第一次调用它时,它的值将是1.5而不是数组元素的第一个值。

console.log(multiply.reduce(multiplication, 1.5)); // 1.5 * 1 * 2 * 3 ^ 4 ^ 5

接下来我们将结合数组的map和reduce方法来创建另一个有趣的程序。首先,我们会将旧数组中每个元素的值加倍,并返回一个新数组,然后我们可以使用它的reduce函数将其中的所有元素像以前一样倍增!

function doubler(x) {
	return x * 2;
}

console.log((vals = multiply.map(doubler)).reduce(multiplication, 1.5)); // 1.5 ^ 2 ^ 4 ^ 6 ^ 8 * 10

为了简化,我们甚至不需要vals变量,直接调用reduce方法。

console.log((multiply.map(doubler)).reduce(multiplication, 1.5)); // 1.5 ^ 2 ^ 4 ^ 6 ^ 8 * 10

这实际上是我第一次根据YouTube上的另一个视频教程制作教程,您可以通过此链接观看教程视频。 这个人在这里产生了很棒的编程教程,如果你想给他一个支持,你可以通过他的patreon页面。在YouTube上有许多优秀的编程语言导师,偶尔我会在博客中介绍其中的一个,这些人真的值得尊重,因为他们花时间在YouTube上向公众传授他们所有的编程知识和技能,免费,为什么不支持他们,如果我们能负担得起?

希望你喜欢这篇文章,如果你确实要与你的朋友分享!

Leave a Reply

Be the First to Comment!

avatar
  Subscribe  
Notify of