Хорошо , как вы знаете, в javascript есть функция sort () для сортировки массивов, но ничего для объекта ...
Таким образом, в этом случае нам нужно каким-то образом получить массив ключей и отсортировать их, вот почему apis дает вам объекты в массиве большую часть времени, потому что Array имеет больше встроенных функций для работы с ними, чем в любом случае литерал объекта, быстрое решение заключается в использовании Object.key, который возвращает массив ключей объекта, я создаю ниже функцию ES6, которая выполняет эту работу за вас, она использует встроенные функции sort () и redu () в javascript:
function sortObject(obj) {
return Object.keys(obj)
.sort().reduce((a, v) => {
a[v] = obj[v];
return a; }, {});
}
И теперь вы можете использовать это так:
let myObject = {a: 1, c: 3, e: 5, b: 2, d: 4};
let sortedMyObject = sortObject(myObject);
Проверьте sortedMyObject, и вы можете увидеть результат, отсортированный по ключам следующим образом:
{a: 1, b: 2, c: 3, d: 4, e: 5}
Также, таким образом, главный объект не будет затронут, и мы фактически получим новый объект.
Я также создаю изображение ниже, чтобы сделать шаги функции более понятными, на случай, если вам нужно немного изменить его, чтобы он работал по-вашему: