for...in 语句

JavaScript for...in 语句

for...in 语句用于对数组或者对象的属性进行循环操作。

for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

语法:

for (变量 in 对象)
{
    在此执行代码
}

“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。

实例:

使用 for ... in 循环遍历数组。

<html>
<body>

<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
</script>

</body>
</html>
 
为一个对象的每个属性,或一个数组或集合中的每个元素,执行一个或多个语句。
 for ( [var] variable in {object | array | collection})
   statement
实参
 
 
variable

必选。 一个变量,可以是 object 的任何属性名、array 的任何索引或 collection 的任何元素。

object

要对其进行循环的 JScript 对象。

array

要对其进行循环的数组。 它可以是 JScript Array 对象或 .NET Framework 数组。

collection

要对其进行循环的集合。 它可以是从 .NET Framework 实现 IEnumerable 或 IEnumerator 接口的任何类。

statement

可选。 要为 object 的每个属性或者 array 或 collection 的每个元素执行的语句。 可以是复合语句。

备注
 
 

在循环的每一次循环之前,会为 variable 分配 object 的下一个属性名、array 的下一个索引或 collection 的下一个元素。 您可以将 variable 用于循环中的任何语句,以便引用 object 的属性或 array 的元素。

当在一个对象上循环时,没有办法确定或控制将对象的成员名赋给 variable 的顺序。 for...in 语句无法在非 JScript 对象的成员上循环,例如,.NET Framework 对象。

数组按元素顺序循环,从最小的索引开始,到最大的索引结束。 因为 JScript Array 对象可能是稀疏的,所以 for...in 语句只访问数组中已定义的元素。 JScript Array 对象还可以具有 expando 属性,在这种情况下,会为 variable 分配数组索引作为属性名。 如果数组是多维 .NET Framework 数组,则只枚举第一维。

为了在集合上循环,会按元素在集合中的显示顺序将元素分配给 variable

示例 1
 
 
下面的示例阐释了 for ... in 语句的用法,该语句将一个对象用作一个相关数组。
 
 
function ForInDemo1()
{
    // Initialize the object.
    var obj = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}

    // Iterate over the properties and create the string result.
    var s = ""
    for (var key in obj)
    {
        s += key + ":  " + obj[key];
        s += "
";
    }
    return (s);
}

此函数返回包含以下内容的字符串:

 
 
a:  Athens
b:  Belgrade
c:  Cairo
原文地址:https://www.cnblogs.com/Ma-lulu/p/5763262.html