JavaScript高阶功能
如果您只是熟悉JavaScript高阶功能,则可能会与地图混淆,每个地图,过滤和减少。
这是一个连续的系列,它将广泛地解释这四个概念并区分它们,因此您知道每个时间使用哪个概念。
在该系列的第一部分中,我们将在JavaScript中了解foreach
关于foreach的重要一件事是,它总是返回不确定的。 foreach是一个JavaScript迭代器,因此它也是映射和过滤器。迭代器是可以使用或循环的阵列上的JavaScript内置方法。但是,问题是每次选择正确的迭代器。
Foreach使用回调函数进行操作,并为每个提供的元素执行一次功能。它不会返回数组,与MAP.通过数组进行循环循环,执行回调函数,但在数组中返回值。无论您是否使用foreach迭代器中的返回关键字,都不会有所作为。它总是返回不确定的。回调函数最多可以具有三个参数。第一个是当前数组索引处的值,第二个是当前数组索引,第三个是数组本身。
让我们看一些例子:
给定五个元素的数组按上升顺序,在数组中打印不同的值。
令ARR = [1,2,3,4,5];
arr.foreach(函数(val,index,arr){
console.log(val)
在控制台中的答案:
1
2
3
4
5
如果您决定安慰。
console.log(索引),
在控制台中的答案:
0
1
2
3
4
在这里,val表示数组的值,索引表示数组的索引,ARR代表数组本身。
另外,您不一定需要使用foreach回调函数中的三个参数。您可以使用一个参数,两个参数或三个参数。结果保持不变。
示例:
令ARR = [1,2,3,4]
arr.foreach(函数(val){
console.log(val)
在控制台中的答案:
1
2
3
4
让我们看看另一个例子:
编写一个返回一个新数组的函数,其所有值增加了十。
功能增加Bybyten(十){
让增加array = [];
ten.foreach(功能(val){
增加array.push(val + 10);
})
返回增加的阵列;
如果值为十= [2,4,6,8,10]
增加array = [12,14,16,18,20]。
在这里,我们使用推动函数的原因是foreach不返回数组。相反,它返回未定义。
这是地图和foreach之间的区别之一。
如果为此使用地图,则将编写较短的代码,因为您的地图创建了一个新数组。因此,您在新数组中的每个值中添加十个值,并返回一个新数组。