Сортировка JSON по значению
как я могу сортировать файл json по имени → значение? Я хочу показать по значению имени тега. Любая идея, как преобразовать мой json файл?
Вот как выглядит мой JSON файл:
[{
"id": "105",
"name": "FIAT",
"active": true,
"parentId": "1"
}, {
"id": "106",
"name": "AUDI",
"active": true,
"parentId": "1"
}, {
"id": "107",
"name": "BMW",
"active": true,
"parentId": "1"
}, {
"id": "109",
"name": "RENAULT",
"active": true,
"parentId": "1"
}]
Буду признателен, если кто-нибудь мне поможет. Спасибо заранее.
Ответы
Ответ 1
Я предлагаю использовать Array#sort()
var data = [{ "id": "105", "name": "FIAT", "active": true, "parentId": "1" }, { "id": "106", "name": "AUDI", "active": true, "parentId": "1" }, { "id": "107", "name": "BMW", "active": true, "parentId": "1" }, { "id": "109", "name": "RENAULT", "active": true, "parentId": "1" }];
data.sort(function (a, b) {
return a.name.localeCompare(b.name);
});
document.write('<pre>' + JSON.stringify(data, 0, 4) + '</pre>');
Ответ 2
Довольно прямолинейный.
data = [{
"id": "105",
"name": "FIAT",
"active": true,
"parentId": "1"
}, {
"id": "106",
"name": "AUDI",
"active": true,
"parentId": "1"
}, {
"id": "107",
"name": "BMW",
"active": true,
"parentId": "1"
}, {
"id": "109",
"name": "RENAULT",
"active": true,
"parentId": "1"
}];
data.sort(function(a, b) {
return a.name > b.name;
});
data.sort();
console.log(data);