Сортировка в переменной.
src = [{"sdf":"13242","sdfse":"443","sdfdssd":"567","dfsf":"454561","fefds"
:"6435","sdfdsde3":"3453"}]
Подскажите пожалуйста от отсортировать по ключу этот список, в нем нет повторяющихся ключей. Пробовал как-то так, не получается:
src.sort(function(a,b){return (a.Object.keys < b.Object.keys) ? 1 : ((b.Object.keys < a.Object.keys) ? -1 : 0);});
|
Цитата:
|
dima85,
выборка ключей по возрастанию
var src = [{"sdf":"13242","sdfse":"443","sdfdssd":"567","dfsf":"454561","fefds":"6435","sdfdsde3":"3453"}];
var src_key = src.map(function(a) {
return Object.keys(a).sort(function(n,k) {
return a[n] - a[k]
})
});
alert(JSON.stringify(src_key));
|
Понял. Подскажите а по Value сортировать этот список придется таким же вариантом или можно проще?
|
dima85,
:-? |
src = sortObject(src);
function sortObject(obj) {
return Object.keys(obj)
.sort().reduce((a, v) => {
a[v] = obj[v];
return a; }, {});
}
Как вам такой вариант, или можно проще? |
Цитата:
Цитата:
|
Вы правы, остановился на этом варианте:
const ordered = {};
Object.keys(src).sort().forEach(function(key) {
ordered[key] = src[key];
});
|
Цитата:
|
Мне сложно отследить сортирует он или нет. Насколько я понимаю и вижу последний мой вариант сортирует по keys. Или я не прав?
|
| Часовой пояс GMT +3, время: 09:13. |