我需要创建一个反向打印数组的函数。数组是:
var array = [1,2,3,4,5]
我的尝试是:
function printReverse(){
for (i = array.length ; i >= 0;i--){
console.log(array[i]);
}
}
所以我想知道您是否可以使用foreach创建相同的思维。 我在网上找不到任何有关它的信息
答案 0 :(得分:0)
forEach
将严格“枚举”整个数组,但对forEach
的回调将传递三个参数:当前项,该项的索引以及对原始数组的引用。您可以使用索引从末尾向后走。例如:
var array = [1, 2, 3, 4, 5];
array.forEach((_, i, a) => console.log(a[a.length - i - 1]));
另一个技巧是使用reduceRight
来反向枚举项目。此处的回调将被传递 accumulator 作为第一个参数(您可以简单地忽略),并将该项作为第二个参数。您还必须传递一个值来初始化累加器,但是再次声明该值实际上并不重要,因为在这种情况下您将忽略它:
var array = [1, 2, 3, 4, 5];
array.reduceRight((_, x) => console.log(x), 0);