我在JS中有这个对象:

var list = {134 : "A",140 : "B",131 : "C"}

我用它运行:
jQuery.each(list, function(key, value) {
console.log(key + " - " + value);
});

输出应为:
134 - A
140 - B
131 - C

但我不知道为什么,输出是:
131 - C
134 - A
140 - B

你知道我该如何解决吗?

最佳答案

首先,这不是一个列表,而是一个对象。不能保证保持对象的顺序-每个实现都可以选择不同的顺序。

另一方面,数组保留顺序:

var list = [[134, "A"],[140, "B"],[131, "C"]];


jQuery.each(list, function(i, obj) {
  console.log(i + " - " + obj[0] + " - " + obj[1]);
});

09-17 09:32