我有一份水果清单。
var fruits = ["Banana", "Orange", "Apple", "Mango", "Pineapple"];
我想用jQuery .sort()
对它们进行排序,给出一组应该放在第一位的值:
var showFirst = ["Banana", "Apple", "Orange"]
其余的水果应该以任何特定的顺序添加到最后。
我可以使用fruits.sort()
来使它看起来像这样吗?
fruits.sort(function (a, b) {
var customOrder = ["Banana", "Apple", "Orange"]
{
return ?;
};
});
结果应该是:
fruits = ["Banana", "Apple", "Orange" "Mango", "Pineapple"];
答案 0 :(得分:2)
使用sort,您只需与indexOf a
与b
进行比较,但您必须分别检查-1。通过反转showfirst数组,您可以直接使用sort:
var fruits = ["Banana", "Orange", "Apple", "Mango", "Pineapple"];
var showFirst = ["Banana", "Apple", "Orange"];
var sorter = showFirst.reverse();
fruits.sort(function (a, b) {
return sorter.indexOf(b) - sorter.indexOf(a);
});
答案 1 :(得分:0)
如果你说,在前三个之后的任何订单,那么你可以这样做:
shift
所以上面的代码已完整记录。