ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงที่มีตัวเลขคั่นด้วยช่องว่าง สตริงจะมีตัวเลขคี่ทั้งหมดและตัวเลขคู่เพียงตัวเดียว หรือ ตัวเลขคู่ทั้งหมดและตัวเลขคี่เพียงตัวเดียว ฟังก์ชันควรคืนค่าตัวเลขที่ต่างออกไปนั้น
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const str = '2 4 7 8 10';
const findDifferent = (str = '') => {
const odds = [];
const evens = [];
const arr = str
.split(' ')
.map(Number);
arr.forEach(num => {
if (num % 2 === 0) {
evens.push(num);
} else {
odds.push(num);
}
});
return odds.length === 1 ? odds[0] : evens[0];
};
console.log(findDifferent(str));
ผลลัพธ์
7
คำอธิบายเพิ่มเติม
จาก '2 4 7 8 10' มีเลขคู่ 4 ตัว (2,4,8,10) และเลขคี่ 1 ตัว (7) คืนค่า 7 โค้ดแยกคู่/คี่แล้วดูว่ากลุ่มไหนมี 1 ตัว