for...in、for...of和forEach循环
使用for…in、for…of和forEach在循环遍历时的区别
- for…of是在for…in之后推出的新特性,弥补for…in中的一些不足.
- JSON 数据的标的达方式是key:value
- for…of(ES6语法)遍历出的结果是value
- for…in遍历出的结果是key
使用for…in遍历数组
遍历结果是key,数组下标
var a=[1,2,3];
for(let i in a){
console.log(i);//0 1 2
console.log(a[i]);//1 2 3
}
使用for…of遍历数组
遍历结果是value,数组值
var a=[1,2,3];
for(let i of a){
console.log(i);//1 2 3
}
使用forEach遍历数组
var a=[1,2,3];
a.forEach(function(item,index){
console.log(item);//1 2 3
console.log(index);//0 1 2
});
使用for…in遍历对象
var testArr={
code:'ac32',
name:'joe',
age:12
};
for(let i in testArr){
console.log(i); // code name age
}
使用for…of遍历对象
想用for…of来遍历普通对象的属性的话可以通过和Object.keys()搭配使用
var testArr={
code:'ac32',
name:'joe',
age:12
};
for(let j of Object.keys(testArr)){
console.log(j);// code name age
}