Given:
var a1 = [{name:'Scott'}, {name:'John'}, {name:'Albert'}];
var sortOrder开发者_高级运维 = ['John', 'Scott', 'Albert'];
How can I sort the first array (by property) based on the order specified in the second array.
// result: [{name:'John'}, {name:'Scott'}, {name:'Albert'}]
Thanks.
a1.sort(function(a,b) {
return (
sortOrder.indexOf(a.name) < sortOrder.indexOf(b.name) ? -1 : 1
);
});
精彩评论