สมมติว่าเรามีอาร์เรย์ตัวเลขสองอาร์เรย์ความยาวเท่ากัน:
const arr1 = [23, 67, 12, 87, 33, 56, 89, 34, 25]; const arr2 = [12, 60, 45, 54, 67, 84, 36, 73, 44];
เราต้องเขียนฟังก์ชันที่รับสองอาร์เรย์ดังกล่าว ฟังก์ชันต้องเปรียบเทียบค่าที่ตรงตำแหน่งกัน และคืนค่า:
- -1 ถ้าจำนวนค่าที่มากกว่าในอาร์เรย์แรกมากกว่าอาร์เรย์ที่สอง
- 1 ถ้าจำนวนค่าที่มากกว่าในอาร์เรย์ที่สองมากกว่าอาร์เรย์แรก
- 0 ถ้าจำนวนทั้งสองเท่ากัน
ตัวอย่าง
สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรเป็น:
const output = 1;
เพราะ arr1 มี 4 ตำแหน่งที่มากกว่า arr2 ส่วน arr2 มี 5 ตำแหน่ง
ตัวอย่างโค้ด
const arr1 = [23, 67, 12, 87, 33, 56, 89, 34, 25];
const arr2 = [12, 60, 45, 54, 67, 84, 36, 73, 44];
const findDominance = (arr1 = [], arr2 = []) => {
if(arr1.length !== arr2.length) {
return;
}
let count = 0;
for(let i = 0; i < arr1.length; i++) {
const el1 = arr1[i];
const el2 = arr2[i];
const diff = el2 - el1;
console.log(diff);
count += diff / Math.abs(diff);
}
return count / Math.abs(count);
};
console.log(findDominance(arr1, arr2));
ผลลัพธ์
-11 -7 33 -33 34 28 -53 39 19 1