【问题标题】:Sort the Multidimensional array alpha numerically [duplicate]以数字方式对多维数组 alpha 进行排序[重复]
【发布时间】:2018-07-12 19:24:39
【问题描述】:

这是我的数组,我需要对第二个元素进行排序

[{id:1,name:beta},
{id:2,name:alpha},
{id:3,name:charlie}]

我该如何排序

[{id:2,name:alpha},
    {id:1,name:beta},
    {id:3,name:charlie}]

我试过了

roles = roles.sort(function(a,b) {
      return a[1] - b[1];
    });

roles = roles.sort(function(a,b) {
      return a.name - b.name;
    });

它不像预期的那样排序,因为我在数组中有对象。我该怎么做?

【问题讨论】:

  • try -> return a.name.localeCompare(b.name); 一个字符串减去一个字符串真的没有多大意义.. :)
  • // 带下划线 js var obj = [{id:1,name:"beta"}, {id:2,name:"alpha"}, {id:3,name:"charlie "}]; var 结果 = _.sortBy(obj,"name");控制台日志(结果);

标签: javascript arrays sorting multidimensional-array


【解决方案1】:

在您的 sort 函数中比较 a.nameb.name

var arr = [
  {
    id: 1,
    name: 'beta'
  },
  {
    id: 2,
    name: 'alpha'
  },
  {
    id: 3,
    name: 'charlie'
  }
];

arr = arr.sort(function(a,b){
  return +(a.name > b.name);
});

console.log(arr);

【讨论】:

猜你喜欢
  • 2012-07-18
  • 2012-04-23
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 2012-12-05
相关资源
最近更新 更多