假设我们有两个JavaScript对象,如下所示:
object1 = {
test: {},
test2: {},
users: {},
colors: {},
dates:{}
}
object2 = {
test2: {},
dates:{},
test: {},
colors: {},
users: {}
}如何向object2下达object1的订单?
发布于 2013-01-12 11:52:31
JavaScript对象没有顺序的概念。Order仅适用于数组。此外,没有人访问带有数值索引的JavaScript对象。您可以通过属性的名称来访问它。你已经知道这个名字了。
您问题中的两个对象具有相同的属性。由于值为空,因此两个对象实际上是相同的。
发布于 2013-01-12 11:52:15
你不能这样做,对象的定义是无序的。
如果需要,可以使用数组。
发布于 2013-01-12 12:14:37
嗯,主要是一个与JavaScript相关的基本排序问题,因为这在许多语言中都是不可能的。我确信这不是最有效的实现,但是假设两个对象共享相同的属性,下面的实现应该可以完成这项工作
var i = 0;
for(var arg in object1) {
if (object2[arg]) {
var temp = object2[arg];
delete object2[arg];
object2[arg] = temp;
}
} https://stackoverflow.com/questions/14290036
复制相似问题