如何从循环中获取特定值

时间:2018-05-15 10:20:52

标签: javascript html html5

我想从一个数组形式的循环中得到一个特定的值。以下示例

var text = "";

for(var i = 0; i < 10; i++) {
    if (i === 3) continue;
    text += "The number is " + i + "<br>";
}

document.getElementById("demo").innerHTML = text;

结果:

The number is 0
The number is 1
The number is 2
The number is 4
The number is 5
The number is 6
The number is 7
The number is 8
The number is 9

但我需要从循环中获取一个特定的数字,如:

text += "The 5th number is " + i[5] + "<br>";

i [5]的结果未定义。我怎么能正确地做到这一点?

5 个答案:

答案 0 :(得分:2)

text是一个简单的string,而不是一个数组,这就是您无法使用array[index]访问的原因。你最好使用数组或

您只需split使用<br>字符串,这将为您提供一个数组。现在,您可以使用arr[index]

&#13;
&#13;
var text = "";
var i;
for (i = 0; i < 10; i++) {
  if (i === 3) { continue; }
  text += "The number is " + i + "<br>";
};

console.log("5th number is "+text.split("<br>")[4])
&#13;
&#13;
&#13;

答案 1 :(得分:1)

  

i [5]的结果未定义。

因为i变量是数字的,所以它不是array

  

但我需要从循环中获取一个特定的数字

您可以通过创建数组来完成此操作。

&#13;
&#13;
var text = "";
var i;
var indexes = [];
for (i = 0; i < 10; i++) {
  indexes.push(i)
  if (i === 3) { continue; }
  text += "The number is " + indexes[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
&#13;
<div id="demo"></div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

创建一个需要迭代的项目数组,然后如前所述,您可以按array[index]访问索引。

var a = [1, 2, 3];
for(var b in a) {
    console.log(b);
    console.log(a[2]);
}

答案 3 :(得分:0)

如果要在列表中显示数字,可以添加名为number的新变量。只要在for-loop中使用此变量就会增加此变量,如下所示:

var text = "";
var i;
var number = 1;
for (i = 0; i < 10; i++) {
  if (i === 3) { continue; }
  text += "The"+ (number++) +"th number is " + i + "<br>";
}
document.getElementById("demo").innerHTML = text;

这将打印每一行: The xth number is i

*我知道这段代码没有显示第一,第二和第三个数字的格式正确的例子,但我想展示这背后的思路。

答案 4 :(得分:0)

您正在尝试从变量中获取索引。那不是一个数组。因此,您可以通过使用示例

中的索引来获取特定数字

&#13;
&#13;
var text = "";
var i;
   for (i = 0; i < 10; i++) {
 if (i === 3) { 
 text = "The "+i+"th number is " + i + "<br>";
 break; }
 
}
document.getElementById("demo").innerHTML = text;
&#13;
<div id="demo"></div>
&#13;
&#13;
&#13;