JS对象遍历顺序如何确定详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1185个文字,预计阅读时间需要5分钟。
可能有些同学听过在JavaScript中遍历对象顺序不固定的说法。实际上,这个说法并不准确。对于待遍历顺序,对象有一套自己既定的规则。在此规则下,对象的遍历顺序会受影响。
可能有些同学听过在 JavaScript 中遍历对象顺序不固定的这一说法。事实上,这个说法不是特别准确。
对待遍历顺序,对象有一套自己既定的规则,在此规则下呢,对象的遍历顺序会受插入元素顺序的影响,但是不完全受插入元素先后顺序的影响。如果您有「必须按插入元素顺序遍历」的场景,可以考虑使用 Map。
遍历对象的方法有很多种,我们经常会使用的有 for...in ,除此之外,还有:
- Object.keys
- Object.entries
- Obejct.getOwnerProPertyNames
- Reflect.ownKeys
- ......
上面我们列的几个方法,都按照一样的规则去遍历对象。而实际的遍历规则会根据 key 值类型的不同而不同。
在一个对象中,如果我们的 key 值是像 '1'、'200'这种正整数格式的字符串。 遍历的顺序是按照 key 值的大小来排列的。
本文共计1185个文字,预计阅读时间需要5分钟。
可能有些同学听过在JavaScript中遍历对象顺序不固定的说法。实际上,这个说法并不准确。对于待遍历顺序,对象有一套自己既定的规则。在此规则下,对象的遍历顺序会受影响。
可能有些同学听过在 JavaScript 中遍历对象顺序不固定的这一说法。事实上,这个说法不是特别准确。
对待遍历顺序,对象有一套自己既定的规则,在此规则下呢,对象的遍历顺序会受插入元素顺序的影响,但是不完全受插入元素先后顺序的影响。如果您有「必须按插入元素顺序遍历」的场景,可以考虑使用 Map。
遍历对象的方法有很多种,我们经常会使用的有 for...in ,除此之外,还有:
- Object.keys
- Object.entries
- Obejct.getOwnerProPertyNames
- Reflect.ownKeys
- ......
上面我们列的几个方法,都按照一样的规则去遍历对象。而实际的遍历规则会根据 key 值类型的不同而不同。
在一个对象中,如果我们的 key 值是像 '1'、'200'这种正整数格式的字符串。 遍历的顺序是按照 key 值的大小来排列的。

