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