从JSON对列表进行自定义排序

Custom Sort on list from JSON

本文关键字:自定义 排序 列表 JSON      更新时间:2024-04-02

我正在进行一个web服务调用并循环结果如下:

$.each(v.outcomes, function (kk, vv) {
}

我想使用vv.namev.outcomes进行排序,使用数组中的顺序作为模板,例如:

var names=new Array("Saab","Volvo","BMW");

如果在数组中未找到CCD_ 3,则将其放置在有序列表下面。

这可能吗?

一个简单的方法是循环遍历源数组,并将项目放入一个新的排序数组:

var names=new Array("Saab","Volvo","BMW");
var sorted = new Array(v.outcomes.length);
// keep track of the end index to place "unknown" items
var end = v.outcomes.length-1;
v.outcomes.forEach(function(item) {
    var position = names.indexOf(item.name);
    // add item to the appropriate position, otherwise place at the end
    if (position != -1)
        sorted[position] = item; 
    else
        sorted[end--] = item;
});

Fiddle