循环对象用for…in
因为对象数据没有length属性,所以没办法用for去遍历。
语法:
1 for(var 变量名 in 对象名){ 2 对象名[变量名];//对象每个数据名称对应的值 3 }
栗子:
1 var obj={ 2 a:10, 3 b:'a', 4 c:[1,2,3] 5 } 6 for(var attr in obj){ 7 console.log(obj[attr]);//10 a [1, 2, 3] 8 }
如果要获取对象属性的数量,可以在for...in外面声明一个变量,在for...in循环的时候让这个变量累加。
1 var n=0 2 for(var attr in obj){ 3 n++; 4 console.log(obj[attr]);//10 a [1, 2, 3] 5 } 6 console.log(n);//3
for…in遍历数组
1 var arr=['red','yellow','green','pink','blue']; 2 for(var attr in arr){ 3 console.log(arr[attr]);//red yellow green pink blue 4 }