ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริง 3 ตัว สตริงแรกคือชื่อ สตริงที่สองคือนามสกุล และสตริงที่สามตัวเลือกคือชื่อกลาง ฟังก์ชันควรคืนค่าชื่อเต็มตามอินพุตเหล่านี้
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const firstName = 'Vijay';
const lastName = 'Raj';
const constructName = (firstName, lastName, middleName) => {
if (!middleName) {
middleName = '';
}
let nameArray = [firstName, middleName, lastName];
nameArray = nameArray.filter(Boolean);
return nameArray.join(' ');
};
console.log(constructName(firstName, lastName));
ผลลัพธ์
Vijay Raj
คำอธิบายเพิ่มเติม
ใช้ filter(Boolean) เพื่อกำจัดค่า falsy (empty string, null, undefined) แล้ว join ด้วย space รองรับกรณีไม่มีชื่อกลางได้ดี