【问题标题】:Console.log() inside a for-loopfor 循环中的 Console.log()
【发布时间】:2017-07-28 18:48:37
【问题描述】:

我想知道我下面的代码有什么问题。 当我使用console.log(a[0]) 时,控制台会显示我的数组 a 的第一个元素。但是,当我使用console.log(a[i]) 时,它并没有真正起作用。在这种情况下,我希望 i = 0 的值与我使用 console.log(a[0]) 时的值相同。是否与推送功能或错误定位有关?

非常感谢您的帮助!

var a = []
    for ( var i = 0; i < links.length; i++) {

      a.push(b[i]);
    console.log(a[0]); // works
    console.log(a[i]); // doesn't work

    })

【问题讨论】:

  • 你的语法本身是错误的。你能在此处粘贴准确的 sn-p 吗?这是行不通的
  • 是的,错误是,console.log(a[i]); 没有出现在控制台上。
  • 上面写着a[i] is undefined
  • 除了sn-p末尾的一个额外的括号,并假设alinks被填充并且长度相等,your code works

标签: javascript arrays loops for-loop console


【解决方案1】:

您缺少一些代码。 linksb,尤其是。

let a = [];
let b = ['foo', 'bar', 'baz'];
let links = ['foo', 'bar', 'baz'];
for (let i = 0; i < links.length; i++) {
  a.push(b[i]);
  //console.log(a[0]); // works
  console.log(a[i]); // also works
}

【讨论】:

    【解决方案2】:
    var a = []
    for ( var i = 0; i < b.length; i++) { <------------changed to b.length
    
      a.push(b[i]);
      console.log(a[i]); 
    
    })
    

    【讨论】:

    • 因此,在某种程度上,您需要将迭代器的值推送到一个新数组中,以便在 i 索引处进行控制台记录。这可能是因为 b 数组当前正在使用 for 循环?
    猜你喜欢
    • 2016-03-23
    • 2019-07-08
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2021-07-30
    • 1970-01-01
    相关资源
    最近更新 更多