用 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
廣告