微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在JavaScript中对数组进行排序

我没有使用关联数组.我正在使用像这样的1d数组,

array("1,a","5,b","2,c","8,d","6,f");

我该如何排序这个数组?

结果应该是,f",d");

最佳答案
我将继续并假设您希望先按数字部分排序,按数字排序,然后在逗号后面的位上进行二级词法(字符串)排序.这样一个像“11,a”这样的值将在“2,a”之后结束 – 如果你只是做一个认排序“11,a”将在“2,a”之前结束.所以:

var a = ["1,"11,"24,z",f"];

a.sort(function(a,b) {
   var aparts = a.split(","),bparts = b.split(",anum = +aparts[0],// convert first part to number
       bnum = +bparts[0],aletter = aparts[1],bletter = bparts[1];

   if (anum === bnum)
      return aletter < bletter ? -1 : aletter === bletter ? 0 : -1;
   else
      return anum - bnum;
});

结果:

["1,z"]

原文地址:https://www.jb51.cc/jquery/428527.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐