【问题标题】:How create a foreach loop to print array in reverse? [duplicate]如何创建一个foreach循环来反向打印数组? [复制]
【发布时间】:2019-04-24 20:59:28
【问题描述】:

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

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

我的尝试是:

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

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

【问题讨论】:

标签: javascript arrays loops for-loop foreach


【解决方案1】:

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

【讨论】:

  • 我无法理解“a”在 foreach 中的含义
  • @AlphaPigVLOG 这是对原始数组的引用。相当于array.forEach((_, i) => console.log(array[array.length - i - 1]));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
  • 2015-08-12
  • 2010-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多