Javascript:按每个内部数组中的第二个元素对数组排序

时间:2016-09-19 23:01:19

标签: javascript arrays sorting lodash

我有一个如下所示的数组:

const arr = [
  [500, 'Foo'],
  [600, 'bar'],
  [700, 'Baz'],
];

我想按每个内部数组中的第二个元素按字母顺序对此arr进行排序,即:

[
  [600, 'bar'],
  [700, 'Baz'],
  [500, 'Foo'],
]

请注意不区分大小写。另外,如果他们派上用场,我很乐意使用lodash助手!

2 个答案:

答案 0 :(得分:6)

这是一个具体的工作示例,使用Array.prototype.sort

const arr = [
  [500, 'Foo'],
  [600, 'bar'],
  [700, 'Baz']
];

arr.sort((a,b) => a[1].toUpperCase().localeCompare(b[1].toUpperCase()));

console.log(arr);

答案 1 :(得分:1)

Array.prototype.sort接受一个函数,该函数将应用于数组中的每对项目。该函数的返回确定项目的排序方式(需要返回正数,0或负数)。