Первая проверка a
и b
firstname: name
или нет, если true, ничего не делать.
Далее, проверка a
firstname или b
firstname name
, если true, найдите, кто имеет имя name
, и поменяйте местами a
и b
или нет.
Наконец, проверьте с правилом алфавитного порядка.
const name = 'Levi'
var data = [
{ firstname: 'Levi', food: 'apple' },
{ firstname: 'Eren', food: 'orange' },
{ firstname: 'Levi', food: 'grapes' },
{ firstname: 'Miks', food: 'banana' },
{ firstname: 'AMiks', food: 'mango' }
];
const sorted = data.sort((a, b) => {
if (a.firstname === name && b.firstname === name) {
return 0;
}
if (a.firstname === name || b.firstname === name) {
return a.firstname === name ? -1 : 1;
}
return a.firstname.localeCompare(b.firstname);
});
console.log(sorted);
Вывод:
[ { firstname: 'Levi', food: 'apple' },
{ firstname: 'Levi', food: 'grapes' },
{ firstname: 'AMiks', food: 'banana' },
{ firstname: 'Eren', food: 'orange' },
{ firstname: 'Miks', food: 'banana' } ]