我正在尝试不同的对象,我注意到 Javascript JSON 对象中有一些奇怪的行为。如果有人能详细说明就太好了。
示例:
var bat={ 3:"FA", 7:"WER", 1:"JWRT",d:"EWR",a:"bA",8:"ADB"};
对于这个 Json 对象,当它使用整数作为键时(即使您将整数用双引号引起来也有效),并且当您尝试使用 Object.keys() 或简单地打印 bat 来获取键时,以下顺序是见过。
{1: "JWRT", 3: "FA", 7: "WER", 8: "ADB", d: "EWR", a: "bA"}
当键是字符串时,Json 对象不会自动进行排序(即使它是只包含字符串键的 Json 对象,或者散布有整数和字符串键)。
如果同一个 Json 对象中存在字符串和整数键,则整数将到达键数组的开头。
这种行为有什么原因吗?提前致谢...
最佳答案
对象键的顺序永远无法保证。即使您使用数字键,它们也是内部字符串。
4.3.3 Object
An object is a member of the type Object. It is an unordered collection of properties each of which contains a primitive value, object, or function. A function stored in a property of an object is called a method.
关于javascript - javascript JSON 对象中是否存在整数和字符串键的排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49322423/