字符串排序,小说章节排序算法?
需要将一个小说目录排序。
const list = ['小说A第19章', '小说A第20章', '小说A第9章', '111', '小说B第五章', '小说B第四章'];
console.log(
list.sort((a, b) => {
return a > b ? 1 : -1;
})
);
// [ '111', '小说A第19章', '小说A第20章', '小说A第9章', '小说B第五章', '小说B第四章' ]
我想让上面输出:
[ '111', '小说A第9章', '小说A第19章', '小说A第20章', '小说B第四章', '小说B第五章' ]
请问如何写呢?
'第五章' > '第四章'
// false
'第19章' > '第9章'
// false
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
中文数字转数字还挺麻烦的.
主要看第一个方法.
其余的实现很罗嗦.
即便这样,应该还有漏洞.先这样吧.
想法就是先提供一个
format
方法,把数值计算一下,比如说中文的十五
替换成15
。然后分组,排序即可。
大概就是下面这个意思吧。