编写句子排序函数:单词内字符按序+按词长升序排列
实现句子单词双重排序函数
需求说明
- 输入:仅包含小写字母的句子字符串
- 输出:满足以下规则的排序后句子
- 每个单词的字符按字母顺序排列
- 所有单词按字符数量升序排列
- 示例:
输入:
"she lives with him in a small apartment"
输出:"a in ehs him hitw eilsv allms aaemnprtt"
现有代码问题
当前的makeAlphabetSentenceSort函数错误地将整个字符串拆分为单个字符排序,没有按单词维度处理,完全不符合需求。
正确实现思路
- 拆分句子为单词数组:用空格分割输入字符串
- 处理单个单词:对每个单词的字符单独排序后重组
- 排序单词数组:按单词的字符长度升序排列
- 重组为最终句子:将排序后的单词数组用空格拼接
完整代码实现
function makeAlphabetSentenceSort(str) { // 拆分句子为单词数组 const words = str.split(' '); // 处理每个单词:内部字符排序 const processedWords = words.map(word => word.split('').sort().join('') ); // 按单词长度升序排序 const sortedWords = processedWords.sort((a, b) => a.length - b.length); // 拼接为最终句子 return sortedWords.join(' '); } // 测试示例 console.log(makeAlphabetSentenceSort("she lives with him in a small apartment")); // 输出:a in ehs him hitw eilsv allms aaemnprtt
内容的提问来源于stack exchange,提问作者Nevanjith De Silva
相关产品推荐
相关产品推荐

