0

Let's just say we have 2 JavaScript Objects likes this:

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

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

How can you take the order of object1 to object2 ?

4

3 に答える 3

1

JavaScriptオブジェクトには順序の概念がありません。順序はアレイにのみ適用されます。それに加えて、数値インデックスを使用してJavaScriptオブジェクトにアクセスする人は誰もいません。プロパティの名前でアクセスします。そして、あなたはすでにその名前を知っています。

質問の2つのオブジェクトは同じプロパティを持っています。値が空であるため、両方のオブジェクトは実際には同じです。

于 2013-01-12T03:52:30.650 に答える
0

You can't do it, objects are unordered by definition.
If you want it use an array.

于 2013-01-12T03:52:15.110 に答える
0

うーん、これは多くの言語では不可能であるため、主に JavaScript 固有のひねりを加えた基本的な並べ替えの問題です。これは最も効率的な実装ではないと確信していますが、2 つのオブジェクトが同じプロパティを共有していると仮定すると、以下のように機能するはずです。

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 に答える