Мне было интересно, как я могу сортировать массив по индивидуальному заказу, а не по алфавиту. Представьте, у вас есть этот массив/объект:Сортировка по специальному заказу
var somethingToSort = [{
type: "fruit",
name: "banana"
}, {
type: "candy",
name: "twix"
}, {
type: "vegetable",
name: "broccoli"
}, {
type: "vegetable",
name: "carrot"
}, {
type: "fruit",
name: "strawberry"
}, {
type: "candy",
name: "kitkat"
}, {
type: "fruit",
name: "apple"
}];
здесь мы имеем 3-х различных типов: фрукты, овощные и конфеты. Теперь я хочу отсортировать этот массив и убедиться, что все фрукты в первую очередь, конфеты приходят после фруктов, а овощи - в последний раз. Каждому типу необходимо, чтобы их элементы сортировались в алфавитном порядке. Мы будем использовать функцию, как sortArrayOnOrder (["fruit","candy","vegetable"], "name");
Так в принципе, вы бы в конечном итоге с этого массива после сортировки:
var somethingToSort = [{
type: "fruit",
name: "apple"
}, {
type: "fruit",
name: "banana"
}, {
type: "fruit",
name: "strawberry"
}, {
type: "candy",
name: "kitkat"
}, {
type: "candy",
name: "twix"
}, {
type: "vegetable",
name: "broccoli"
}, {
type: "vegetable",
name: "carrot"
}];
Любой идея, как создать сценарий для этого?
Смотрите также многие другие «[как сортировать] (http://www.google.de/search?q=stackoverflow+javascript+sort+array+ из + объектов) "вопросы – Bergi