对数组进行JavaScript不区分大小写的通用排序

时间:2018-05-31 12:11:25

标签: javascript arrays lodash

我已阅读有关此主题的上一个问题: Lodash : how to do a case insensitive sorting on a collection using orderBy?

我发现lodash正确排序了数字和日期列。我需要对字符串列进行不区分大小写的排序。我们目前有以下实施:

double

我担心的是,实施不会正确处理日期。我们在这里需要什么特别的日期吗?

1 个答案:

答案 0 :(得分:1)

_.sortBy可以对日期进行排序 - 假设列中的所有值都是日期,您只需要测试类型并返回日期:

const sorted = _.orderBy(this, function(o) {
  if ($.isNumeric(o[column])) {
    return parseFloat(o[column]);
  }

  if (_.isDate(o[column])) {
    return o[column];
  }

  return (o[column]).toLowerCase();
}, direction);