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

Sắp xếp chuỗi từ dựa trên số có trong mỗi từ bằng JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript lấy một chuỗi đại diện cho một câu. Hàm của chúng ta nên sắp xếp câu này.

Mỗi từ trong chuỗi câu chứa một số nguyên. Hàm của chúng ta nên sắp xếp chuỗi sao cho từ chứa số nguyên nhỏ nhất được đặt trước rồi đến theo thứ tự tăng dần.

Ví dụ

Sau đây là mã -

const str = "is2 Thi1s T4est 3a";
const sortByNumber = (str = '') => {
   const findNumber = (s = '') => s
      .split('')
      .reduce((acc, val) => +val ? +val : acc, 0);
   const arr = str.split(' ');
   const sorter = (a, b) => {
      return findNumber(a) - findNumber(b);
   };
   arr.sort(sorter);
   return arr.join(' ');
};
console.log(sortByNumber(str));

Đầu ra

Thi1s is2 3a T4est