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];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์สองอาร์เรย์เป็นอาร์กิวเมนต์แรกและอาร์กิวเมนต์ที่สอง ฟังก์ชันควรเปรียบเทียบค่าที่สอดคล้องกันของอาร์เรย์ทั้งสอง และฟังก์ชันควรส่งคืน -

  • -1 ถ้าจำนวนของตัวเลขที่สอดคล้องกันในอาร์เรย์แรกมากกว่าอาร์เรย์ที่สองมากกว่าจำนวนที่สอดคล้องกันมากกว่าในอาร์เรย์ที่สอง

  • 1 ถ้าจำนวนของตัวเลขที่สอดคล้องกันในอาร์เรย์ที่สองมากกว่าอาร์เรย์แรกมากกว่าจำนวนที่สอดคล้องกันมากกว่าในอาร์เรย์แรก

  • 0 ถ้าจำนวนเท่ากัน

ตัวอย่างเช่น −

สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรเป็น −

const output = 1;

เนื่องจาก arr1 มีองค์ประกอบที่สอดคล้องกันมากกว่า 4 องค์ประกอบในขณะที่ 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