在JavaScript中使用字符串的for/in循环
我对JavaScript比较陌生,我发现了一个奇怪的for循环,如下所示:在JavaScript中使用字符串的for/in循环,javascript,for-loop,Javascript,For Loop,我对JavaScript比较陌生,我发现了一个奇怪的for循环,如下所示: for (c in "test message") { } 通常,类似这样的东西在foreach循环中,“c”元素应该循环字符(t、e、s、t等等)。。。这一个循环整数 是否有一些文档可以理解这种行为 完整样本如下: <!DOCTYPE html> <html> <body> <p>Click the button to loop through the
for (c in "test message") {
}
通常,类似这样的东西在foreach循环中,“c”元素应该循环字符(t、e、s、t等等)。。。这一个循环整数
是否有一些文档可以理解这种行为
完整样本如下:
<!DOCTYPE html>
<html>
<body>
<p>Click the button to loop through the
properties of an object named "person".</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var x;
var txt = "";
var person = { fname: "John", lname: "Doe", age: 25 };
var myString = "this is a test";
for (x in myString) {
txt = txt + x + ':' + myString[x] + '<br/>';
}
for (x in person) {
txt = txt + x + ':' + person[x] + '<br/>';
}
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
在javascript中,..In的工作方式如下:
for (var key in objectOrArray) {
console.log(key, objectOrArray[key]);
}
因此,它总是输出键,当循环通过字符串时,键是字符索引(基于0)
您也可以在字符串上使用相同的行为,如下所示:
console.log(str[5]); //the 6th character in the string "str"
对于..在works for json对象中,“x”表示对象中的元素。 要分割字符串值,可以使用normal for..循环
for (var x = 0; x < myString.length;x++)
{
txt = txt + x.toString() + ':' + myString[x] + '<br/>';
}
for(var x=0;x;
}
此循环只需遍历给定数组的每个元素(在您的示例中是一个字符数组-字符串),并对每个元素执行操作。它的作用与for循环完全相同,只是不需要指定循环的开始、结束和步骤loop@NDraskovic问题是“键”如何变成一个整数。。。它是如何工作的?因此,在任何数组(包括字符串、整数或对象数组)“key”@Serge中,基本的经验法则是,它将返回您放入其中的任何对象的键。如果您可以使用变量[“key”]
则它将输出“key”,如果您可以使用变量[0]
则它将输出“0”。如果两个都不能使用,那么它就会失败。
for (var x = 0; x < myString.length;x++)
{
txt = txt + x.toString() + ':' + myString[x] + '<br/>';
}