Ani*_*ish 5 javascript sorting jquery
我没有使用关联数组.我正在使用像这样的1d数组,
array("1,a","5,b","2,c","8,d","6,f");
Run Code Online (Sandbox Code Playgroud)
我该如何排序这个数组?
结果应该是,
array("1,a","2,c","5,b","6,f","8,d");
Run Code Online (Sandbox Code Playgroud)
我将继续假设您想首先按数字部分排序,按数字排序,然后对逗号后面的位进行辅助字典(字符串)排序。这样,像“11,a”这样的值将在“2,a”之后结束 - 如果您只是执行默认排序,“11,a”将在“2,a”之前结束。所以:
var a = ["1,a","11,a","8,a","24,z","5,b","2,c","8,d","6,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;
});
Run Code Online (Sandbox Code Playgroud)
结果:
["1,a", "2,c", "5,b", "6,f", "8,a", "8,d", "11,a", "24,z"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
594 次 |
| 最近记录: |