QR CODE для записи
Социальные закладки:
Сниппет сортировки объекта по ключу и по карте на JavaScript
Стояла задача отсортировать массив с объектами по определённому ключу:
var array = [
{
rus:'Синий',
eng:'indigo'
},{
rus:'Зелёный',
eng:'green'
},{
rus:'Оранжевый',
eng:'orange'
},{
rus:'Фиолетовый',
eng:'violet'
},{
rus:'Красный',
eng:'red'
},{
rus:'Голубой',
eng:'blue'
},{
rus:'Жёлтый',
eng:'yellow'
}
];
Входящий массив может быть и неполный.
Для правильной сортировки создаётся карта:
var map = {
'Красный' : 0,
'Оранжевый' : 1,
'Жёлтый' : 2,
'Зелёный' : 3,
'Голубой' : 4,
'Синий' : 5,
'Фиолетовый': 6
};
Сортируем:
array.sort(function(x, y){return map[x.rus] - map[y.rus]});
// Короткая стрелочная версия
// array.sort((x,y)=>map[x.rus]-map[y.rus]);
console.log(array)