Lodash - 对象中的对象排序(desc 和 asc)

Lodash - sort objects in object ( desc and asc)

如何使用 Lodash 对对象的对象进行升序和降序排序?

例如我想按 'r' 或 'd' 排序。

这是我的对象的样子:

将内部对象放入数组并使用函数sortBy()

var users = [
 { 'user': 'fred',   'age': 48 },
 { 'user': 'barney', 'age': 36 },
 { 'user': 'fred',   'age': 40 },
 { 'user': 'barney', 'age': 34 }
];

_.sortBy(users, function(o) { return o.user; });
// → objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
console.log(users.reverse()); // desc order

纯JS也很简单,你可以这样做;

var   obj = {a:16, b:2, c:8, d:4, e:1},
    okeys = Object.keys(obj),
   sorted = {};
okeys.sort((p,c) => obj[p] <= obj[c]).forEach((p,i) => sorted[okeys[i]] = obj[p]);
document.write('<pre> ' + JSON.stringify(sorted, 0, 2) + '</pre>');

我正在根据数值对对象属性进行排序。它们的值可以是对象,您也可以根据这些对象 属性 值进行排序。但我无法评论做这一切背后的合理原因。