我想从一个数组形式的循环中得到一个特定的值。以下示例
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]的结果未定义。我怎么能正确地做到这一点?
答案 0 :(得分:2)
text
是一个简单的string
,而不是一个数组,这就是您无法使用array[index]
访问的原因。你最好使用数组或
您只需split
使用<br>
字符串,这将为您提供一个数组。现在,您可以使用arr[index]
像
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;
答案 1 :(得分:1)
i [5]的结果未定义。
因为i
变量是数字的,所以它不是array
。
但我需要从循环中获取一个特定的数字
您可以通过创建数组来完成此操作。
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;
答案 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)
您正在尝试从变量中获取索引。那不是一个数组。因此,您可以通过使用示例
中的索引来获取特定数字
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;