使用Lodash排序数字字符串数组

时间:2016-01-11 14:33:56

标签: javascript arrays lodash

_.sortBy(arrData, "rhid");

此代码对数组进行排序,但作为字段" rhid"的值。是订单混乱的字符串。 我该如何排序好像" rhid"其中int field。

由于

2 个答案:

答案 0 :(得分:13)

sortBy可以与函数一起使用,而不是属性名称。

_.sortBy(arrData, function (obj) {
    return parseInt(obj.rhid, 10);
});

答案 1 :(得分:1)

这可以使用箭头符号来实现,例如:

_.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是平局。