我有一个对象数组,其中每个对象都包含几个数值。这是对象的布局:
{
v: [],
cm: 0
}
这是排序函数的定义:
registry.sort(function(a,b) {return (a.cm > b.cm) ? 1 : ((b.cm > a.cm) ? -1 : 0);} );
当我运行排序函数时,它什么都不做,只是让数组保持原样。我是 js 新手,但据我所知,一切都应该正常工作。有谁知道出了什么问题?
谢谢
编辑:这是我可以提取的最小示例
var registry = [];
registry.sort(function(a,b) {return (a.cm > b.cm) ? 1 : ((b.cm > a.cm) ? -1 : 0);} );
var draw = function() {
//various other function calls that add values to the registry array
registry[0] = {v:[0,0,0], cm:3}; //just to have something to use in the variable
registry[1] = {v:[0,0,0], cm:2};
debug(registry[0], registry[1]);
registry.sort();
debug(registry[0], registry[1]);
}