在 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

以上是 在 JavaScript 中的句子中按长度排列单词 的全部内容, 来源链接: utcz.com/z/311473.html

回到顶部