JavaScript中for in 和for of的区别

253 阅读1分钟

for in 遍历的是当前索引,不适合遍历数组对象,返回的是数组下标。(适合遍历对象)

let arr = [
    {name:'张三',age:18},
    {name:'赵四',age:28},
    {name:'王五',age:18}
]
for (const item in arr) {
    console.log(item) // 0, 1, 2
    console.log(arr[item]) // {name:'张三',..},{name:'赵四',..}{name:'王五',..}
}

for of 遍历的是当前'键'值,适合遍历数组对象,返回的是数组单个对象。(适合遍历数组对象)

// 例子同上
let arr = [
    {name:'张三',age:18},
    {name:'赵四',age:28},
    {name:'王五',age:18}
]
for (const item of arr) { // 将in 改成 of
    console.log(item) // 0, 1, 2
}