【问题标题】:Alphabetical Sorting Array [duplicate]字母排序数组[重复]
【发布时间】:2014-02-06 18:19:57
【问题描述】:

我使用以下函数对数组进行排序。

var trArr = [{'Abc', 1}, {'ACd', 3}, {'Aab', 4}];

function compare(a,b) {
          if (a.name > b.name)
          {
              return -1;
          }
          if (a.name < b.name)
          {
              return 1;
          }

          return 0;
}

trArr.sort(compare);

结果:

[{'ACd', 3}, {'Aab', 4}, {'Abc', 1}];

以上结果是由于大写'C'

我需要以下结果:

[{'Aab', 4}, {'Abc', 1}, {'ACd', 3}];

【问题讨论】:

  • .name.toLowerCase()

标签: jquery arrays sorting


【解决方案1】:

试试这个

var trArr = [{
    name: 'Abc',
    id: 1
}, {
    name: 'ACd',
    id: 3
}, {
    name: 'Aab',
    id: 4
}];

function compare(a, b) {
    if (a.name.toLowerCase() < b.name.toLowerCase()) {
        return -1;
    }
    if (a.name.toLowerCase() > b.name.toLowerCase()) {
        return 1;
    }
    return 0;
}

trArr.sort(compare);
console.log(trArr)

DEMO

【讨论】:

    【解决方案2】:

    尝试使用toLowerCase

    function compare(a, b) {
        if (a.name.toLowerCase() > b.name.toLowerCase()) {
            return -1;
        }
        if (a.name.toLowerCase() < b.name.toLowerCase()) {
            return 1;
        }
        return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2018-11-02
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 2013-11-02
      相关资源
      最近更新 更多