dca*_*cas 5 javascript documentation object
我已经检查过此页面:mozilla 文档
我不明白为什么索引 0 带有:
const object3 = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.entries(object3)[0]);
// expected output: Array ["100", "a"] <== i thought of this
Run Code Online (Sandbox Code Playgroud)
相反,文档说你得到:
// expected output: Array ["2", "b"]
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下为什么吗?
文档说Object.entries返回给定对象可枚举属性对的数组[key,value]。所以是的,如果你看看这个声明,它会令人困惑
const object3 = { 100: 'a', 2: 'b', 7: 'c' };
["2", "b"]当你打电话时最终会得到Object.entries(object3)[0]。
当您执行此操作时Object.entries(object3)[0],您正在访问该函数返回的索引 0 处的一对 Object.entries(object)。object3该数组的顺序与您最初的定义方式无关。根据文档的顺序与循环提供的顺序相同
for...in。我在对象上运行了 for...in 循环,这就是我得到的订单。
2,7,100。
这就是为什么你得到的["2", "b"]不是["100", "a"]. 正如其他人在这里提到的,顺序似乎是这样的,因为 2<7<100。