Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ส่งคืนเฉพาะเลขคี่จากอาร์เรย์ใน JavaScript


ปัญหา

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็ม arr เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์เดียว

อาร์เรย์ประกอบด้วยเลขคู่ทั้งหมดและเลขคี่เพียงตัวเดียวหรือประกอบด้วยเลขคี่ทั้งหมดและเลขคู่เพียงตัวเดียว ฟังก์ชันของเราควรคืนค่าองค์ประกอบที่แตกต่างจากอาร์เรย์นี้

ตัวอย่างเช่น หากอินพุตของฟังก์ชันคือ −

ป้อนข้อมูล

const arr = [5, 9, 7, 11, 34, 23, 77];

ผลผลิต

const output = 34;

คำอธิบายผลลัพธ์

เนื่องจากอาร์เรย์ประกอบด้วยเลขคี่ทั้งหมด แต่ 34 ซึ่งเป็นเลขคู่

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [5, 9, 7, 11, 34, 23, 77];
const findDifferent = (arr = []) => {
   let { length: len } = arr, i;
   const evens = [];
   const odds = [];
   let k;
   for (i=0; i<len; i++) {
      if (arr[i] % 2 == 0) {
         evens.push(arr[i]);
      };
      if (Math.abs(arr[i] % 2) == 1) {
         odds.push(arr[i]);
      };
   };
   if (evens.len > odds.len)
      return odds[0];
   else
      return evens[0];
};
console.log(findDifferent(arr));

ผลลัพธ์

34