Javascript-按多个条件对数组进行排序

用户名

我有一个对象数组:

var arr = [
  {title:'50 - 50'},
  {title:'100 - 100'},
  {title:'50 - 65'},
  {title:'100 - 125'}
];

我试图对该数组进行排序,以使这些项目按以下顺序显示:

var arr = [
  {title:'50 - 50'},
  {title:'50 - 65'},
  {title:'100 - 100'},
  {title:'100 - 125'}
];

目前,我正在使用以下排序功能来尝试此操作:

arr.sort(function(a, b){
  var titleA = a.title;
  var titleB = b.title;
  var arrA = titleA.split(' - ');
  var arrB = titleB.split(' - ');
  var keyA = parseInt(arrA[0]), 
      keyB = parseInt(arrB[0]);

  // Compare the 2 keys
  if(keyA < keyB) return -1;
  if(keyA > keyB) return 1;
  return 0;
});

但是,这将按以下顺序返回项目:

var arr = [
  {title:'50 - 65'},
  {title:'50 - 50'},
  {title:'100 - 125'},
  {title:'100 - 100'}
];

看来我需要按标题中的第一个数字排序,然后按第二个数字排序。有任何想法吗?

亚历克斯·科帕乔夫

试试这个:

arr.sort(function(a, b){
  var titleA = a.title;
  var titleB = b.title;
  var arrA = titleA.split(' - ');
  var arrB = titleB.split(' - ');
  var keyA1 = parseInt(arrA[0]), keyA2 = parseInt(arrA[1]) 
      keyB1 = parseInt(arrB[0]), keyB2 = parseInt(arrB[1]);

  // Compare the 2 keys
  if (keyA1 < keyB1) return -1;
  if (keyA1 > keyB1) return 1;
  if (keyA2 < keyB2) return -1;
  if (keyA2 > keyB2) return 1;
  return 0;
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

字母数字在JavaScript中对数组进行排序

来自分类Dev

如何使用javascript按组对数组进行排序?

来自分类Dev

使用多个键对数组对象进行排序:Javascript

来自分类Dev

如何在JavaScript中按经度纬度距离对数组项进行排序?

来自分类Dev

JavaScript按2个值对数组进行排序

来自分类Dev

在Javascript中按日期对数组进行排序

来自分类Dev

Javascript在Oracle中按顺序对数组进行排序

来自分类Dev

Javascript:如何按该数组中的对象值对数组进行排序?

来自分类Dev

JavaScript与PHP对数组进行排序

来自分类Dev

如何使用AngularJs或Javascript对数组进行排序?

来自分类Dev

按多个键对javascript数组排序

来自分类Dev

如何在JavaScript中按字母顺序对数组中的姓氏进行排序和格式化

来自分类Dev

JavaScript-按两个整数属性对数组进行排序

来自分类Dev

Javascript按“组”对数组进行排序并保持顺序

来自分类Dev

在JavaScript上对数组元素进行排序

来自分类Dev

按Javascript中的特定键值对数组进行排序

来自分类Dev

如何找到在JavaScript中按降序对数字数组进行排序所需的最小交换次数

来自分类Dev

用JavaScript对数组进行排序

来自分类Dev

使用javascript对数组表进行排序

来自分类Dev

Javascript在Oracle中按顺序对数组进行排序

来自分类Dev

javascript-按另一个数组的顺序对数组进行排序

来自分类Dev

按给定顺序对Javascript数组进行排序

来自分类Dev

在Javascript中按行数据对数组进行排序

来自分类Dev

在Javascript中按2个条件对数组进行排序不起作用

来自分类Dev

Javascript - 在初始“-”之后对数组进行排序

来自分类Dev

基于Javascript中相同属性的多个值对数组进行排序

来自分类Dev

在javascript中按字母顺序对数组及其对象键进行排序

来自分类Dev

使用本机 Javascript 按数据类型对数组进行排序

来自分类Dev

如何根据javascript中的多个字段对数组进行排序

Related 相关文章

  1. 1

    字母数字在JavaScript中对数组进行排序

  2. 2

    如何使用javascript按组对数组进行排序?

  3. 3

    使用多个键对数组对象进行排序:Javascript

  4. 4

    如何在JavaScript中按经度纬度距离对数组项进行排序?

  5. 5

    JavaScript按2个值对数组进行排序

  6. 6

    在Javascript中按日期对数组进行排序

  7. 7

    Javascript在Oracle中按顺序对数组进行排序

  8. 8

    Javascript:如何按该数组中的对象值对数组进行排序?

  9. 9

    JavaScript与PHP对数组进行排序

  10. 10

    如何使用AngularJs或Javascript对数组进行排序?

  11. 11

    按多个键对javascript数组排序

  12. 12

    如何在JavaScript中按字母顺序对数组中的姓氏进行排序和格式化

  13. 13

    JavaScript-按两个整数属性对数组进行排序

  14. 14

    Javascript按“组”对数组进行排序并保持顺序

  15. 15

    在JavaScript上对数组元素进行排序

  16. 16

    按Javascript中的特定键值对数组进行排序

  17. 17

    如何找到在JavaScript中按降序对数字数组进行排序所需的最小交换次数

  18. 18

    用JavaScript对数组进行排序

  19. 19

    使用javascript对数组表进行排序

  20. 20

    Javascript在Oracle中按顺序对数组进行排序

  21. 21

    javascript-按另一个数组的顺序对数组进行排序

  22. 22

    按给定顺序对Javascript数组进行排序

  23. 23

    在Javascript中按行数据对数组进行排序

  24. 24

    在Javascript中按2个条件对数组进行排序不起作用

  25. 25

    Javascript - 在初始“-”之后对数组进行排序

  26. 26

    基于Javascript中相同属性的多个值对数组进行排序

  27. 27

    在javascript中按字母顺序对数组及其对象键进行排序

  28. 28

    使用本机 Javascript 按数据类型对数组进行排序

  29. 29

    如何根据javascript中的多个字段对数组进行排序

热门标签

归档