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

การหาตัวเลขคู่เพียงตัวหรือคี่เพียงตัวในสตริงตัวเลขคั่นด้วยช่องว่างใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน 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 ตัว