js 对象问题

image.png
对象展开之后顺序发生变化,什么原因啊?
image.png

阅读 2.2k
3 个回答

首先对象属性是无序的,console展开会按照A-z,0-9,(中文不知道啥顺序)的顺序排列展示,纯粹是给人看着方便,不会改变原数据解构的顺序。

javascript里面的对象属于哈希表,他key的顺序没有实际意义(也可将其当作数组使用,只不过性能会略低一些),在输出时会将对象的key分为两种一种是数字类型,一种是字符串类型,数字类型从小到大输出(数字类型的key在满足一定条件下会单独存在一个数组中),字符串类型会按照插入顺序输出
展开后key的顺序变了,因该是浏览器会将字符串类型的key按照字典序排了下顺序

console.log('桥'.charCodeAt(0))
console.log('梅'.charCodeAt(0))
console.log('西'.charCodeAt(0))
/*
26725
26757
35199
*/

对象是无序的啊

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