JavaScript功能编程:地图,过滤和减少
#javascript #网络开发人员 #编程 #编码

虽然编程世界采用功能编程范例,但JavaScript并未落后。实际上,该语言为促进功能风格的一些最有效的方法量身定制。

今天,我们将深入研究三种方法:地图,过滤和减少。这些阵列方法是操纵JavaScript中数据的本质,并且了解它们对于任何有抱负的开发人员都至关重要。

1。地图:变压器

在其核心上,地图方法是关于转换的。给定数组,MAP将函数应用于其每个元素,返回转换的元素的新数组。

let numbers = [1, 2, 3, 4, 5];
let doubled = numbers.map(n => n * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

map视为工厂装配线。通过该行的每个项目(或元素)以相同的方式进行修改或转换。

2。过滤器:守门人

map转换的地方,filter屏幕。它在条件下评估每个元素,返回条件为真的新元素。

let numbers = [1, 2, 3, 4, 5];
let evens = numbers.filter(n => n % 2 === 0);
console.log(evens); // [2, 4]

Filter类似于俱乐部的门卫,只允许满足特定标准的个人。

3。减少:累加器

虽然mapfilter返回阵列,但reduce更加灵活。它通过元素遍历数组元素,累加结果。

let numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum); // 15

reduce视为滚雪球从山上滚下来,在下降时收集了更多的雪(数据)。

这三个如何一起工作

合并后,这些方法可以创建强大的数据操纵工作流。在这里看将它们链在一起:

let numbers = [1, 2, 3, 4, 5];
let doubledEvens = numbers
                   .filter(n => n % 2 === 0)
                   .map(n => n * 2)
                   .reduce((acc, curr) => acc + curr, 0);
console.log(doubledEvens); // 12

此链式读取为:从数字中,滤除evens,加倍,然后将它们总结。

这种封闭方法的美在于它捕获了JavaScript中功能编程的本质。它展示了一种声明性的编程风格,您可以在其中指定要使用数据而不是如何做的方式。每个步骤都是一个清晰的功能数据转换,使代码更具可读性和表现力。

结论

映射,过滤并减少方法;他们是一种思维方式,是JavaScript中编程的功能方法。

作为开发人员,如果您了解了这些想法,您将改善编码方式,并准备在将来采用更复杂的功能编程方法。

随意在TwitterLinkedIn上与我建立联系。

阅读接下来...