Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การเรียงลำดับสตริงของคำตามจำนวนที่ปรากฏในแต่ละคำโดยใช้ JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้สตริงที่แทนประโยค หน้าที่ของเราควรจัดเรียงประโยคนี้

แต่ละคำในสตริงประโยคประกอบด้วยจำนวนเต็ม ฟังก์ชันของเราควรจัดเรียงสตริงโดยให้คำที่มีจำนวนเต็มที่น้อยที่สุดก่อนแล้วจึงเรียงตามลำดับที่เพิ่มขึ้น

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

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

ผลลัพธ์

Thi1s is2 3a T4est