Сортировка массива объектов с разными ключами JS
подскажите, как можно отсортировать по ключам массив объектов такого формата?
List = [
{'4': 'dog' }, {'2': 'took'}, {'3': 'his'},
{'-2': 'Vatsan'}, {'5': 'for'}, {'6': 'a'}, {'12': 'spin'}
]
не могу точно понять, как обращаться к ключам, так как это всё разные строки, а не единый формат из разряда List[0]['name']
Ответы (1 шт):
Автор решения: Neverm1ndo
→ Ссылка
Согласен c @Alexey Ten, что такая конструкция списка не очень удобна. Было бы удобнее, если список выглядел как двумерный массив так:
const List = [
[4, 'dog' ],
[2, 'took'],
[3, 'his'],
[-2, 'Vatsan'],
[5, 'for'],
[6, 'a'],
[12, 'spin']
];
Но если все же использовать массив объектов, то сортировку можно сделать так:
const List = [
{'4': 'dog' }, {'2': 'took'}, {'3': 'his'},
{'-2': 'Vatsan'}, {'5': 'for'}, {'6': 'a'}, {'12': 'spin'}
];
console.log(List.sort((a, b) => Object.keys(a)[0] - Object.keys(b)[0]));