for in 迴圈獲取json資料中'key'與'value'
阿新 • • 發佈:2018-12-17
一、for in 方法
a.for in 迴圈物件
var data = {name:'mcYang0929',age:'25',sex:'man'};
for(var key in data) {
console.log(key); //屬性名(key)
console.log(data[key]); //屬性值(value)
}
b.for in 迴圈陣列
var arr = ['React','CSS','HTML']; for(var x in arr ){ console.log(x); //在陣列中的位置(index) console.log(arr [x]); //陣列的值 };
使用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迴圈陣列