for…of 和 for…in的区别
数组 | json | |
---|---|---|
for…in | 下标 | key |
for…of | 值 | 无法使用 |
举例1(数组中)
let arr = [1,2,3,9];
for(let i in arr){
console.log(i);//0,1,2,3
}
for(let i of arr){
console.log(i);//1,2,3,9
}
举例2(json中)→key
let json = {"a":1,"b":2,"c":3};
for(let i in json){
console.log(i);//a,b,c
}
for(let i of json){
console.log(i);//无法使用
}
举例3(数组中使用keys,values,entries)
keys
=> 所有的key
取出来
values
=> 所有的values
取出来
entries
=> 所有的key-value对
拿出来
let arr = [2,5,8,9];
for(let key of arr.keys()){
console.log(key);//0,1,2,3
}
for(let value of arr.values()){
console.log(value);//2,5,8,9
}
for(let entry of arr.entries()){
console.log(entry);//[0,2],[1,5],[2,8],[3,9]
}