我问这个问题是为了质量检查自己,看看更有经验的Javascript编码器是否可能有更好的方法......
我有一系列标题,其中一些标题以“The”开头。我不希望在对标题进行排序时考虑“The”。我计划的方法是使用正则表达式从值的开头剪切“The”,然后在排序数组之前将其拼接到值的末尾。例如,将“正确的东西”修改为“正确的东西,”。
我的问题:有没有更好/更有效的方法来迭代数组并进行正则表达式修改?
编辑:感谢所有花时间做出回应的人(并对延迟表示抱歉)。我玩了两种方法(正则表达式切割和拼接以及比较)。我最终选择了最符合我剧本流程的比较路线。
答案 0 :(得分:4)
您可以编写一个自定义比较函数,您可以将其传递给排序算法,该算法在比较开头为“the”且字符串不匹配的字符串时返回适当的值。在所有其他情况下,它可以使用自然顺序。一旦你有这样的功能,你可以根据自己喜欢的方式对字符串进行排序。
答案 1 :(得分:0)
我猜你只是在没有任何参数的情况下使用sort()
。
如果您查看文档:{{3}}
您会注意到您实际上可以放入一个自定义函数,如果它们是“The”,您可以跳过前3个字符(考虑大写情况)。
你的方法也是有效的,只要你做相反的事情就可以在以后正确输出标题。在性能方面,我没有测试过,但除非你正在使用大型数组,否则它不应该是人类明显的,所以继续你认为以后理解或者其他人可以理解的更好。