Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การกลับลำดับคำที่มีความยาวคี่ - JavaScript

ฟังก์ชันนี้กลับลำดับตัวอักษรในคำที่มีความยาวเป็นเลขคี่ (odd length) เท่านั้น คำที่มีความยาวคู่จะคงเดิม

ตัวอย่าง

// Input: 'hello beautiful people'
// คำที่มีความยาวคี่: 'hello' (5), 'beautiful' (9)
// Output: 'olleh lufituaeb people'

ตัวอย่างโค้ด

const str = 'hello beautiful people';

const isOdd = str => str.length % 2 === 1;

const reverseOddWords = (str = '') => {
  return str.split(' ')
    .reduce((acc, val) => {
      if (isOdd(val)) {
        // กลับลำดับคำที่มีความยาวคี่
        acc.push(val.split('').reverse().join(''));
      } else {
        acc.push(val);
      }
      return acc;
    }, [])
    .join(' ');
};

console.log(reverseOddWords(str));

การทำงาน

  1. split(' ') - แยกคำด้วยช่องว่าง
  2. reduce() - สร้างอาร์เรย์ใหม่
  3. ตรวจสอบความยาวคำด้วย length % 2 === 1
  4. คำคี่: split('').reverse().join('') กลับลำดับ
  5. join(' ') - รวมคำกลับเป็นสตริง

ผลลัพธ์

olleh lufituaeb people