javascript - 按第二个数组的顺序排序

时间:2010-08-13 00:07:59

标签: javascript arrays sorting

假设:

var a1 = [{name:'Scott'}, {name:'John'}, {name:'Albert'}];
var sortOrder = ['John', 'Scott', 'Albert'];

如何根据第二个数组中指定的顺序对第一个数组(按属性)进行排序。

// result: [{name:'John'}, {name:'Scott'}, {name:'Albert'}]

感谢。

1 个答案:

答案 0 :(得分:7)

a1.sort(function(a,b) {
  return (
    sortOrder.indexOf(a.name) < sortOrder.indexOf(b.name) ? -1 : 1
  );
});