首页 > 解决方案 > 我试图在 js 中对字符串进行排序。但我想念东西

问题描述

function sortStrings(stringList) {

    var retval = "";
    var strings = stringList.split(',');
    var sortedStrings = strings.sort((a,b) => {
                 return a < b;
                 });

    sortedStrings.forEach((str) => {
        retval = str + ',';
    } );

    return retval;
}

我犯了什么错误

标签: node.js

解决方案


您的compare函数有错误。逻辑运算符<只返回真或假,而比较预期返回一个整数。整数<0表示a < b,整数=0表示a == b,整数>0表示a > b

要使用字符串完成此操作,您应该使用 localeCompare:

return a.localeCompare(b)

推荐阅读