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

Javascript 从JSON对列表进行自定义排序,javascript,jquery,Javascript,Jquery,我正在进行一次web服务调用,并将结果循环如下: $.each(v.outcomes, function (kk, vv) { } 我想使用数组中的顺序作为模板对v.outcouts进行排序,例如: var names=new Array("Saab","Volvo","BMW"); 如果在数组中找不到vv.name,则将其放置在有序列表下方 这可能吗?一种简单的方法是循环源数组,并将项目放入新的排序数组中: var names=new Array("Saab","Volvo","BMW"

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

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

}
我想使用数组中的顺序作为模板对
v.outcouts
进行排序,例如:

var names=new Array("Saab","Volvo","BMW");
如果在数组中找不到
vv.name
,则将其放置在有序列表下方


这可能吗?

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

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;
});