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

การหาผลรวมตัวเลขคู่และคี่ในสตริงและเปรียบเทียบใน JavaScript

ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงที่ประกอบด้วยตัวเลข ฟังก์ชันควรคืนค่า true หากผลรวมของตัวเลขคู่มากกว่าผลรวมของตัวเลขคี่ false ถ้าไม่ใช่

ตัวอย่าง

โค้ดตัวอย่างด้านล่าง:

const num = '645457345';
const isEvenGreater = (str = '') => {
  let evenSum = 0;
  let oddSum = 0;
  for (let i = 0; i < str.length; i++) {
    const el = +str[i];
    if (el % 2 === 0) {
      evenSum += el;
    } else {
      oddSum += el;
    }
  }
  return evenSum > oddSum;
};
console.log(isEvenGreater(num));

ผลลัพธ์

false

คำอธิบายเพิ่มเติม

โค้ดแปลงแต่ละตัวอักษรเป็นตัวเลขด้วย unary plus (+) แล้วตรวจสอบความคู่คี่ สามารถเขียนให้สั้นขึ้นได้ด้วย reduce และ filter