如何创建一个foreach循环以反向打印数组?

时间:2019-04-24 20:59:29

标签: javascript arrays loops for-loop foreach

我需要创建一个反向打印数组的函数。数组是:

var array = [1,2,3,4,5]

我的尝试是:

function printReverse(){
        for (i = array.length ; i >= 0;i--){
                console.log(array[i]);
        }
}

所以我想知道您是否可以使用foreach创建相同的思维。 我在网上找不到任何有关它的信息

1 个答案:

答案 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);