Computer >> Máy Tính >  >> Lập trình >> Javascript

Sắp xếp các từ theo độ dài của chúng trong một câu trong JavaScript

Chúng tôi bắt buộc phải viết một hàm JavaScript lấy một câu làm đối số đầu tiên và duy nhất.

Câu là một loại chuỗi ký tự đặc biệt được nối với nhau bằng số lượng khoảng trắng hữu hạn.

Hàm nên sắp xếp lại các từ của câu sao cho từ nhỏ nhất (từ có ít ký tự nhất) xuất hiện đầu tiên và theo sau là từ lớn hơn.

Ví dụ -

Nếu chuỗi đầu vào là -

const str = 'this is a string';

Sau đó, đầu ra phải là -

const output = 'a is this string';

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

a is this string