61
rated 0 times
[
62]
[
1]
/ answers: 1 / hits: 72376
/ 10 Years ago, sun, june 8, 2014, 12:00:00
I want to do something like this:
var data = [
{
sortData: {a: 'a', b: 2}
},
{
sortData: {a: 'a', b: 1}
},
{
sortData: {a: 'b', b: 5}
},
{
sortData: {a: 'a', b: 3}
}
];
data = _.sortBy(data, [sortData.a, sortData.b]);
_.map(data, function(element) {console.log(element.sortData.a + + element.sortData.b);});
And have it output this:
a 1
a 2
a 3
b 5
Unfortunately, this doesn't work and the array remains sorted in its original form. This would work if the fields weren't nested inside the sortData
. How can I use lodash/underscore to sort an array of objects by more than one nested field?
I've turned this into a lodash feature request: https://github.com/lodash/lodash/issues/581
More From » underscore.js