ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของคำและเครื่องหมายวรรคตอน ฟังก์ชันควรต่อสมาชิกอาร์เรย์เพื่อสร้างประโยคตามกติกา:
- ต้องมีเว้นวรรคระหว่างคำเสมอ
- ต้องไม่มีเว้นวรรคระหว่างคอมมาและคำทางซ้าย
- ต้องมีจุด (.) ท้ายประโยคเพียงจุดเดียว
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const arr = ['hey', ',', 'and', ',', 'you'];
const buildSentence = (arr = []) => {
let res = '';
for (let i = 0; i < arr.length; i++) {
const el = arr[i];
const next = arr[i + 1];
if (next === ',') {
res += el;
} else {
if (!next) {
res += `${el}.`;
} else {
res += `${el} `;
}
}
}
return res;
};
console.log(buildSentence(arr));
ผลลัพธ์
hey, and, you.
คำอธิบายเพิ่มเติม
โค้ดจัดการคอมมาโดยไม่เว้นวรรคหน้าคอมมา และเพิ่มจุดท้ายประโยค สามารถขยายได้สำหรับเครื่องหมายอื่นๆ เช่น ? ! ; :