Вы должны применить функцию sort()
к массиву, а не к внешнему объекту.У объектов нет такого метода, и в общем случае порядок ключей в любом случае не гарантирован.Для «упорядоченных» данных всегда используйте массивы, а не объекты!
В этом примере используется массив o.users
.Вывод n
также является массивом.
ПРИМЕЧАНИЕ : никогда не злоупотребляйте зарезервированными ключевыми словами в качестве имен переменных.Вы используете object
в качестве имени переменной, настоятельно рекомендуется этого не делать!Я заменил его на o
.Хотя object
не является зарезервированным ключевым словом, Object
(с большой буквы O
) является.И эти два легко спутать.
var o = {
"item": 1,
"users": [
{ "name": "A", "age": "23" },
{ "name": "B", "age": "24" },
{ "name": "Ä", "age": "27" }
]
};
var n = o.users.sort((a, b) => a.name.localeCompare(b.name, "de"));
console.log(n);