一.结论
for in 遍历的是数组的索引(即键名),而for of遍历的是数组元素值
for in总是得到对象的key或数组,字符串的下标
for of总是得到对象的value或数组,字符串的值
注意点: for of遍历对象的话如果想要拿到value值, 具体需要使用Object.keys()搭配进行使用。
二.代码
(1)通过for in去遍历对象总是拿到key,通过for of遍历对象总是拿到value
图示:
var obj={
name:'女神',
age:22
}
// 1.通过for in遍历对象总是拿到key
for (let key in obj) {
console.log(key);
}
// 2.通过for of遍历对象总是拿到value值
for (let key of obj) {
console.log(key);
}
(2)通过for in遍历数组或者字符串拿到的总是索引,通过for of遍历则是拿到值(value)
var arr=[10,20,30,40,50]
var str='vip1900'
// 1.通过for in遍历数组
for (let key in arr) {
console.log(key);
}
// 2.通过for in遍历字符串
for (let key in str) {
console.log(key);
}
// 3.for of遍历数组
for (let key of arr) {
console.log(key);
}
for (let key of str) {
console.log(key);
}
通过for of 遍历数组或字符串拿到的索引
通过 for of遍历拿到的是值