【问题标题】:I'm trying print an array in reverse order but it won't [duplicate]我正在尝试以相反的顺序打印一个数组,但它不会[重复]
【发布时间】:2021-02-23 15:23:03
【问题描述】:

我创建了一个数组,我正在尝试打印它的反面。输出应该是 4 3 2 1,但是我得到的输出是 undefined 4 3 2 1

这个未定义是从哪里来的?

您能帮忙找出这里的逻辑错误吗,谢谢?

"use strict";

let array = [1, 2, 3, 4];

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

【问题讨论】:

标签: javascript arrays traversal


【解决方案1】:

您的代码不起作用,因为数组从索引 0 开始

所以你应该在索引 0 上迭代

 for (i = array1.length - 1; i >= 0; i--) 

另请注意,您的代码打印的是数组的反转,它不会反转它

【讨论】:

    【解决方案2】:

    你可以这样做

    var array = [1,2,3,4]
    
    function reverseArray(array1){
      var tmpArray = []
      for(var i=array1.length-1;i>=0;i--)
      {
        tmpArray.push(array1[i]);
      }
      return tmpArray;
    }
    
    var reverseArray = reverseArray(array);
    console.log(reverseArray)

    【讨论】:

      【解决方案3】:

      如果你想这样做,请使用

      var array = [1, 2, 3, 4];
      
      var reverseArray = function (array1 = [],) {
      
          for (i = array1.length-1; i > -1; i--) {
              console.log(array1[i]);
          }
      
      }
      
      reverseArray(array);

      记住最后一个索引是 3 而不是 4,所以你要从中减去 1。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-25
        • 1970-01-01
        • 2019-11-13
        • 2017-03-28
        • 1970-01-01
        • 2020-06-14
        相关资源
        最近更新 更多