0

假设我们有 2 个这样的 JavaScript 对象:

object1 = {
  test: {},
  test2: {},
  users: {},
  colors: {},
  dates:{}
}

object2 = {
  test2: {},
  dates:{},
  test: {},
  colors: {},
  users: {}
}

你怎么能把 object1 到 object2 的顺序?

4

3 回答 3

1

JavaScript 对象没有顺序的概念。顺序仅适用于数组。此外,没有人使用数字索引访问 JavaScript 对象。您可以通过属性名称访问它。你已经知道这个名字了。

您问题中的两个对象具有相同的属性。由于值为空,因此两个对象实际上是相同的。

于 2013-01-12T03:52:30.650 回答
0

你不能这样做,对象根据定义是无序的。
如果你想要它使用一个数组。

于 2013-01-12T03:52:15.110 回答
0

嗯,主要是一个带有 JavaScript 特定扭曲的基本排序问题,因为这在许多语言中是不可能的。我确信这不是最有效的实现,但假设两个对象共享相同的属性,下面应该完成这项工作

var i = 0;
for(var arg in object1) {
    if (object2[arg]) {
        var temp = object2[arg];
        delete object2[arg];
        object2[arg] = temp;
    }
}   
于 2013-01-12T04:14:36.747 回答