node.js - 我试图在 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;
}
我犯了什么错误
解决方案
您的compare
函数有错误。逻辑运算符<
只返回真或假,而比较预期返回一个整数。整数<0
表示a < b
,整数=0
表示a == b
,整数>0
表示a > b
。
要使用字符串完成此操作,您应该使用 localeCompare:
return a.localeCompare(b)
推荐阅读
- ios - 如何在 AR Kit 中将 UIImage 添加到场景中
- r - Base R 中的旋转箭头
- javascript - 分派动作后不显示道具
- android - 所有 Http 请求的时间间隔(使用改造和 Rx Java 2)
- python - 在 Python 3.6 中计算多边形和 shapefile 之间的重叠
- ios - UITableViewCell 委托不起作用
- reactjs - React Native Crash Undefined 不是一个对象(评估 'Sn[e]')
- vhdl - 使用 vhdl 的 FIFO
- javascript - 比较 div id 和字符串
- javascript - 是否可以在 SELECTED 文本的一侧创建一条垂直线?