【问题标题】:How to solve this "for loop" exercise如何解决这个“for循环”练习
【发布时间】:2021-03-10 10:57:30
【问题描述】:

我有一个我无法解决的问题。尽管输出是练习要求我做的,但他们说代码不正确,我必须使用“for 循环”。

这是练习:(唯一提供的是array-var powerRangers)

遍历 powerRangers 中提供的数组并将显示元素索引和元素内容的字符串打印到控制台。 例如:'0:红色'

代码:

var powerRangers = ['Red', 'Black', 'Yellow', 'Pink', 'Blue'];    
  
var cons;

for (var i in powerRangers) {

  cons = i+':';
  console.log(cons + powerRangers[i]);
    
}

我得到的输出是这样的:

输出:

  • 代码不正确
  • 您的代码中应该有一个 for 循环
0:Red

1:Black

2:Yellow

3:Pink

4:Blue

这是我的课程所需要的。

【问题讨论】:

  • 在询问代码问题时,请始终包含所使用语言的标签。请edit您的帖子立即添加。

标签: javascript for-loop indexing


【解决方案1】:

你所做的已经有一个循环for (var i in powerRangers) { ... }。事实上,它甚至不需要任何循环:

var powerRangers = ['Red', 'Black', 'Yellow', 'Pink', 'Blue'];    
powerRangers.forEach( (ranger, index) => console.log(`${index}: ${ranger}`) );

“他们”要求的是使用for 循环,使用索引和数组长度(旧方法):

var powerRangers = ['Red', 'Black', 'Yellow', 'Pink', 'Blue'];    
for(var i = 0; i < powerRangers.length; i++) {
  console.log(`${i}: ${powerRangers[i]}`);
}

或者,如果您不想使用返回提示 (Template literals):

var powerRangers = ['Red', 'Black', 'Yellow', 'Pink', 'Blue'];    
for(var i = 0; i < powerRangers.length; i++) {
  console.log(i + ': ' + powerRangers[i]);
}

【讨论】:

  • 你能解释一下这行代码console.log(${i}: ${powerRangers[i]}); "$" 会发生什么?
  • 这是Template literal。 ${...} 将包含的表达式(或变量)的值插入到字符串中。
  • 明白了,感谢您的回答。
【解决方案2】:

对于对象,通常使用for in 循环,但对于数组,您应该使用for of 循环。

这是一个示例:

for (let [item,index] of powerRangers.entries()) {
  console.log(`${item}:${index}`);
}

entries() 函数允许您通过数组中的键/值对iterate。

还有其他方法可以做到这一点,但我想你需要一个 for 循环。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 2017-08-18
    • 2023-02-05
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多