Сортировка в переменной.
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, время: 13:50. |