用 JavaScript 根据单词的长度对句子中的单词进行排列
我们需要编写一个 JavaScript 函数,它以句子作为第一个且唯一的参数。
句子是由有限数量的空格连接的特殊字符字符串。
该函数应重新排列句子的单词,使得最短的单词(字符最少的单词)先出现,然后是较长的单词。
例如 −
如果输入字符串为 −
const str = 'this is a string';
则输出应为 −
const output = 'a is this string';
示例
以下为代码 −
const str = 'this is a string';
const arrangeWords = (str = []) => {
const data = str.toLowerCase().split(' ').map((val, i)=> {
return {
str: val,
length: val.length,
index: i
}
})
data.sort((a,b) => {
if (a.length === b.length)
return (a.index - b.index)
return (a.length - b.length)
});
let res = '';
let i = 0;
while (i < data.length - 1)
res += (data[i++].str + ' ');
res += data[i].str;
return (res)
};
console.log(arrangeWords(str));输出
以下是控制台输出 −
a is this string
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP