【发布时间】:2016-01-11 14:33:55
【问题描述】:
_.sortBy(arrData, "rhid");
此代码对数组进行排序,但由于字段“rhid”的值是字符串,因此顺序混乱。 我怎样才能像“rhid”一样在 int 字段中排序。
谢谢
【问题讨论】:
标签: javascript arrays lodash
_.sortBy(arrData, "rhid");
此代码对数组进行排序,但由于字段“rhid”的值是字符串,因此顺序混乱。 我怎样才能像“rhid”一样在 int 字段中排序。
谢谢
【问题讨论】:
标签: javascript arrays lodash
sortBy 可以与函数一起使用而不是属性名称。
_.sortBy(arrData, function (obj) {
return parseInt(obj.rhid, 10);
});
【讨论】:
这可以使用箭头符号来实现,例如:
_.sortBy(arrData, (obj) => parseInt(obj.val, 10));
如果你想像@GunasekaranR 那样做不止一个领域,你也可以用箭头符号来做:
_.sortBy(arrData, [
(obj) => parseInt(obj.first_val, 10),
(obj) => parseInt(obj.second_val, 10)
]);
第二种方式使用first_val作为主要排序对象,second_val是决胜局。
【讨论】:
如果 rhid 是数字,那么你可以这样做
orderBy(
arrData,
function (o) {
return new Number(o.rhid);
},
["asc"]
),
提到here
【讨论】: