Viết hàm nhận vào chuỗi, đảo ngược các từ có độ dài lẻ (số ký tự lẻ). Từ được định nghĩa là chuỗi con được phân tách bởi khoảng trắng.
Ví dụ
Chuỗi: 'hello beautiful people'
hello(5 ký tự - lẻ) →ollehbeautiful(9 ký tự - lẻ) →lufituaebpeople(6 ký tự - chẵn) → giữ nguyên
Giải pháp
Mã triển khai:
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));
Kết quả
Đầu ra trong console:
olleh lufituaeb people