用 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

更新於: 2021 年 1 月 19 日

264 次觀看

開啟您的 職業

完成課程並獲得認證

立即開始
廣告