我只是不知道为什么我的排序算法在Safari和Firefox上正常工作,但在Chrome上却没有。
我要做的是,根据sortingOrder数组中itemType属性的顺序对项目(a和b)进行排序。此外,在给定itemType的每组项目中,可见项目应该首先出现,后面是不可见项目。
itemTypes的排序在任何地方都可以正常工作,但Chrome总是混合可见和不可见的项目。
有人知道为什么吗?
不觉得卡住了很长时间..
SomeClass.prototype.sortItems = function ()
{
var self = this;
this.items.sort(function(a, b) { return self.compare(a, b); });
};
SomeClass.prototype.compare = function (a, b)
{
if (a.itemType == b.itemType)
return (!a.visible && b.visible)? 1 : (a.visible && !b.visible)? -1 : 0;
else
return this.sortingOrder.indexOf(a.itemType) - this.sortingOrder.indexOf(b.itemType);
};