จากอาร์เรย์ของจำนวนเต็ม เราจะต้องเขียนฟังก์ชันที่รับอาร์เรย์นี้และค้นหาองค์ประกอบเดียวที่ปรากฏเป็นจำนวนคี่ จะมีจำนวนเต็มที่เพียงตัวเดียวที่ปรากฏเป็นจำนวนคี่เสมอ
เราจะแก้ไขปัญหานี้ด้วยการจัดเรียงอาร์เรย์ เมื่อจัดเรียงแล้ว เราสามารถวนซ้ำในอาร์เรย์เพื่อเลือกองค์ประกอบที่ปรากฏเป็นจำนวนคี่ได้
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [20, 1, -1, 2, -2, 3, 3, 5, 5, 1, 2, 4, 20, 4, -1, -2, 5];
const findOdd = arr => {
let count = 0;
let last;
arr.sort((a, b) => a - b);
for (let i = 0; i < arr.length; i++){
if (arr[i] === last) {
count++;
continue;
};
if(count % 2){
return last;
};
last = arr[i];
count = 1;
};
return last;
};
console.log(findOdd(arr)); ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
5