es6新加了遍历方法for..of,今天看看怎么使用
一、遍历数组
1,直接使用for..of遍历数组
let arr=['red','green','blue','orange'];
for(let val of arr){
console.log(val);//red,green,blue,orange
}
可以看到直接打印出了数组中的各个值。
那么怎么通过for...of把索引打印出来呢?
可以这样:
let arr=['red','green','blue','orange'];
for(let index of arr.keys()){
console.log(index );//0,1,2,3
}
还可以这样:
let arr=['red','green','blue','orange'];
for(let item of arr.entries()){
console.log(item[0]);//red,green,blue,orange
}
能否把数组索引和值一块打印出来呢?
let arr=['red','green','blue','orange'];
for(let [key,val] of arr.entries()){
console.log(key,val);
}
是不是很简单^_^
二、遍历对象
for...of不能只直接遍历普通JavaScript对象,可以通过Object.values遍历对象的属性值,也可以通过Object.keys遍历对象的属性,最后可以通过Object.entries通过遍历对象的属性和属性值,
实现如下:
1,通过Object.values遍历对象的属性值
let param = {
name: "zhangsan",
age: 21,
sex: "male"
};
//遍历对象的属性值
for (let value of Object.values(param)) {
console.log(key);//zhangsan,21,male
}
2,通过Object.keys遍历对象的属性
let param = {
name: "zhangsan",
age: 21,
sex: "male"
};
for (let key of Object.keys(param)) {
console.log(key);//name,age,sex
}
3,通过Object.entries可以同时遍历对象的key和value
let param = {
name: "zhangsan",
age: 21,
sex: "male"
};
for (let [key,value] of Object.entries(param)) {
console.log(key,value);//name "zhangsan", age 21, sex "male"
}
通过上面的总结发现for...of真的很强大很好用...