javascript - сортировка по порядку второго массива - PullRequest
2 голосов
/ 13 августа 2010

Дано:

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

Как отсортировать первый массив (по свойству) по порядку, указанному во втором массиве.

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

Спасибо.

1 Ответ

7 голосов
/ 13 августа 2010
a1.sort(function(a,b) {
  return (
    sortOrder.indexOf(a.name) < sortOrder.indexOf(b.name) ? -1 : 1
  );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...