【发布时间】:2012-07-24 11:38:56
【问题描述】:
假设我有这样奇怪的代码:
var weirdo = {};
var ids = [10, 30, 11, 1, 4, 2];
var producers = ['Ford','Rover','BMW','Fiat','Renault','Mitsubishi'];
var n = producers.length;
for(var i=0; i<n; i++) {
weirdo[ids[i]] = producers[i];
}
// unknown code ???
如何按值对怪人进行排序?这不是数组,不,我无法在填充怪人之前对生产者进行排序。
有什么想法吗?
哦,关系 id producer 非常重要!
【问题讨论】:
-
您无法对对象属性进行排序。如果你想要一个特定的顺序,你必须使用一个数组。我想知道为什么你需要
weirdo作为一个对象,如果你有数字键的话。为什么不直接创建producers的副本? -
为什么不先对数组进行排序,然后将排序后的数组放入对象中
-
直截了当,但必须有任何方法可以做到这一点 - 例如,如果我在这个 write for( in ) 循环之后不想这样做?
-
@marverix:如果你能提供更多关于你想要做什么(整体问题/场景)的信息,你想用
weirdo做什么,为什么(你认为)它必须是一个对象等,那么我们可以更好地帮助你。否则答案是你做不到。
标签: javascript arrays sorting object