javascript中关于数组和对象的关系,数组是不是只是另外一种形式的对象?

javascript中关于数组和对象的关系,数组是不是只是另外一种形式的对象?为什么数组也会有key? 为什么最后打印出来的结果是一样的?求大神解答下这个关于数组的疑惑。

let arr=['a','b','c','d']
let obj={
    '0':'a',
    '1':'b',
    '2':'c',
    '3':'d'
   }
for(let key in arr){
    console.log(arr[key])//a,b,c,d
}
 
for(let key in obj){
    console.log(obj[key])//a,b,c,d
}

阅读 3.1k
1 个回答

数组也是对象,不信[] instanceof Object试试。for-in遍历的是键,而for-of遍历的是可迭代对象的值,你可以用for-in遍历对象和数组,但只能用for-of遍历数组。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题