在Javascript中,我需要根据类型对数组中的对象进行排序。每种类型都具有更高的优先级,因此具有“擦除”类型的对象应具有最高优先级,因此应位于数组的前部(索引= 0)。根据特定规则对对象进行排序
排序这些对象的最佳方法是什么?有内建功能可以做到这一点吗?
对于如:
function sortObjects(objs)
{
// objs is an unsorted array of objects
var animPriority = {"wipe": 1, "fly": 2, "iris": 3, "flip": 4, "cube": 5, "blur": 6, "zoom": 7, "fade": 8, "glow": 9, "rotate": 10};
for (var i=0; i<objs.length; i++)
if (objs[i].type == "wipe")
// bubblesort/bubbleswap element in objs[0] with objs[i]????
// a bubble sort doesn't seem efficient though?
}
只需将一个比较器函数传递给本地'.sort'函数即可。 – 2011-12-29 01:47:29
谁会想到这样一个简单的问题就会产生这样的讨论,以及一系列半开机启动的答案! :) – Paul 2011-12-29 02:06:34