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