我对数学很糟糕,但我需要能够在数字-α顺序中用JavaScript(或jQuery)对字符串进行排序,最后用零填充。
所以要做到这一点,我知道我可以使用myStr.split('')将字符串转换为数组,然后使用自定义排序函数调用sort(),所以这是我到目前为止所拥有的:
function mysort(a, b) {
// not sure what to put here.
// order should be: 123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0
}
function sortMyString(str) {
str.split('');
return str.sort(mysort);
}
我真的很感激这方面的帮助。
谢谢。
答案 0 :(得分:0)
如果您要拆分和比较单个字符,可以使用charCodeAt功能。
a.charCodeAt(0)
和
b.charCodeAt(0)
获取unicode字符值。你会想要1-9,A-Z,a-z,0以及你没有计划的任何事情。
在您的排序功能中,要以适当的顺序获取项目:如果a == b,则返回0;如果是>则返回1 b,和-1如果<湾如果您需要帮助处理排序功能,请告诉我,这是我现在有时间为您提供指导。
答案 1 :(得分:0)
您可以使用sort函数,然后使用一些自定义代码处理零。这是一个参考:
答案 2 :(得分:0)
这将导致字符串与上面相同,随意混合字符串,添加更多等等,它应该按照你想要的顺序出现。
var str = '123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0';
str = str.split('');
str = str.sort(function (a,b) {
if (a === '0' || b === '0')
return (b === a) ? 0 : (a < b) ? 1 : -1;
return (a < b) ? -1 : (a === b) ? 0 : 1;
});
document.write(str);