Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การเปรียบเทียบค่าที่ตรงตำแหน่งของสองอาร์เรย์ใน JavaScript

สมมติว่าเรามีอาร์เรย์ตัวเลขสองอาร์เรย์ความยาวเท่ากัน:

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