一 .for in 循環
1.獲取json中的鍵(key)與值(value):
var data = {name:'張三',age:'20歲',sex:'男'};
for (var a in data) { console.log(a); /*屬性名*/ console.log(data[a]); /*屬性值*/ };
2.獲取數組中的值
var a = ['apple','banana','pear'];
for(var i in a){ console.log(i); /*在數組中的位置*/ console.log(a[i]); /*值*/
}
使用for in 可以遍歷數組,但是會存在以下問題:
1.index索引為字符串型數字,不能直接進行幾何運算
2.遍歷順序有可能不是按照實際數組的內部順序
3.使用for in會遍歷數組所有的可枚舉屬性,包括原型。
所以for in更適合遍歷對象,不要使用for in遍歷數組。
除了使用for循環,如何更簡單的正確的遍歷數組達到我們的期望呢,ES6中的for of會更好一點。
二、for of 方法(ES6)
var newArray=[1,2,4,5,6,7]; for (var value of newArray) { console.log(value);
注意,for in遍歷的是數組的索引(即鍵名key),而for of遍歷的是數組元素值(即value)。
綜上,建議for in 循環對象,for of循環數組