По сути, у меня есть объект, который выглядит следующим образом.
var obj = {cat: "Cat",
dog: "Dog",
long: "Long",
modified_r: "Date Last",}
mal: "Mal"}`
Что я хочу сделать, так это отобразить объект и отсортировать его по значению, но при этом иметь доступ к ключам объекта.
На данный момент у меня есть
let sorted = Object.entries(obj).sort().map((value) => {
return {value: value[0], label: value[1]}
});
Это сортирует объект по его ключам и затем возвращает массив объектов, подобных этому.
0: {label: "cat", value: "Cat"}
1: {label: "dog", value: "Dog"}
2: {label: "long", value: "Long"}
3: {label: "mal", value: "Mal"}
4: {label: "modified_r", value: "Date Last"}
Что я хочу сделать, это вернуть массив объектов, отсортированных в алфавитном порядке по его значению, как это.
0: {label: "cat", value: "Cat"}
1: {label: "modified_r", value: "Date Last"}
2: {label: "dog", value: "Dog"}
3: {label: "long", value: "Long"}
4: {label: "mal", value: "Mal"}
Я пытался отобразить объект, используя Object.values(selectOptions).sort().map((value) => {}
, Это сортирует объекты по значениям, таким как я хочу, однако у меня нет доступа к ключам объектов в этой функции отображения, поэтому я не могу вернуть массив объектов в нужном мне формате.
Каков наилучший способ сопоставления объекта, сортирующего его по значениям, при этом все еще имея доступ к ключам объектов?