一 .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循环数组