Node.js 试图在多维数组中使用.sortBy
我试图对我第一次嵌套的数组中的子数组的“num”进行排序:Node.js 试图在多维数组中使用.sortBy,node.js,multidimensional-array,underscore.js,Node.js,Multidimensional Array,Underscore.js,我试图对我第一次嵌套的数组中的子数组的“num”进行排序: _ = require('underscore'); _.nst = require('underscore.nest'); var data = [ {'name' : 'name 1', 'num' : 40}, {'name' : 'name 1', 'num' : 20}, {'name' : 'name 2', 'num' : 10}, {'name' : 'name 2', 'num' :
_ = require('underscore');
_.nst = require('underscore.nest');
var data = [
{'name' : 'name 1', 'num' : 40},
{'name' : 'name 1', 'num' : 20},
{'name' : 'name 2', 'num' : 10},
{'name' : 'name 2', 'num' : 50},
{'name' : 'name 2', 'num' : 40},
{'name' : 'name 2', 'num' : 70},
{'name' : 'name 2', 'num' : 30}
];
//first I nest the data by the "name"
var newdata = _.nst.nest(data, 'name');
console.log(newdata);
但是我尝试在两个“name”对象中按从高到低的顺序对“num”进行排序
当我得到这些对象时,它们仍然保持原来的顺序(而不是按num排序)
如果它解决了您的问题,请查看以下内容:
var data = [
{'name' : 'name 1', 'num' : 40},
{'name' : 'name 1', 'num' : 20},
{'name' : 'name 2', 'num' : 10},
{'name' : 'name 2', 'num' : 50},
{'name' : 'name 2', 'num' : 40},
{'name' : 'name 2', 'num' : 70},
{'name' : 'name 2', 'num' : 30}
];
var obj = _.chain(data)
.groupBy('name')
.map(function ( value) {
return _.sortBy(value, 'num');
}).value();
console.log(obj);
console.log(theSortedChildren0);
console.log(theSortedChildren1);
var data = [
{'name' : 'name 1', 'num' : 40},
{'name' : 'name 1', 'num' : 20},
{'name' : 'name 2', 'num' : 10},
{'name' : 'name 2', 'num' : 50},
{'name' : 'name 2', 'num' : 40},
{'name' : 'name 2', 'num' : 70},
{'name' : 'name 2', 'num' : 30}
];
var obj = _.chain(data)
.groupBy('name')
.map(function ( value) {
return _.sortBy(value, 'num');
}).value();
console.log(obj);