Как мне отсортировать массив, как показано ниже, если какое-либо из полей отсутствует?
Итак, существующий массив, например:
const users = [
{
id: 1, firstname: 'Jerry'
}, {
id: 2, firstname: 'Thomas', lastname: 'Geib'
}, {
id: 3
}, {
id: 4, lastname: 'Berg'
}, {
id: 5, firstname: 'Ass', lastname: 'Noob'
}, {
id: 6, lastname: 'Jopa'
}
]
, и результат должен быть отсортирован в следующем порядке:
- Объект с
firstname
и lastname
- Объект только с
firstname
или lastname
- Объект без
firstname
и lastname
, чтобы это выглядело так:
const users = [
{
id: 2, firstname: 'Thomas', lastname: 'Geib'
}, {
id: 5, firstname: 'Ass', lastname: 'Noob'
}, {
id: 1, firstname: 'Jerry'
}, {
id: 4, lastname: 'Berg'
}, {
id: 6, lastname: 'Jopa'
}, {
id: 3
}
]
Я пробовал эту сортировку, но результат не в том, что мне нужно
users.sort((a,b) => {
if (a.firstname === b.firstname) {
return 0
}
if (!a.firstname) {
return 1
}
return -1
});