JavaScript数组的sort方法实现类似数据库多字段的order by

// 定义数组
let array1 =  [
    { a: 2, b: 2 }, 
    { a: 1, b: 12 },
    { a: 5, b: 8 },
    { a: 3, b: 9 },
    { a: 2, b: 4 },
    { a: 3, b: 7 },
    { a: 1, b: 10 }
]
// 排序 优先按a属性排序,其次根据b属性排序
array1.sort((item1, item2) => (item1.a === item2.a) ? (item1.b - item2.b) : (item1.a  - item2.a))

console.log(array1);

优先按a属性排序,其次根据b属性排序,类似数据库中的order by a asc, b asc,在node中的执行结果如下:

[
  { a: 1, b: 10 },
  { a: 1, b: 12 },
  { a: 2, b: 2 },
  { a: 2, b: 4 },
  { a: 3, b: 7 },
  { a: 3, b: 9 },
  { a: 5, b: 8 }
]

在我的简书搬过来的…

点击数:111573

1人评论了“JavaScript数组的sort方法实现类似数据库多字段的order by”

发表评论

您的电子邮箱地址不会被公开。

*

code