Computer >> Máy Tính >  >> Lập trình >> Javascript

So sánh các giá trị tương ứng của hai mảng trong JavaScript

Giả sử chúng ta có hai mảng số có cùng độ dài như thế này -

const arr1 = [23, 67, 12, 87, 33, 56, 89, 34, 25];
const arr2 = [12, 60, 45, 54, 67, 84, 36, 73, 44];

Chúng tôi được yêu cầu viết một hàm JavaScript có hai mảng như đối số thứ nhất và đối số thứ hai. Sau đó, hàm sẽ so sánh các giá trị tương ứng của cả hai mảng và hàm sẽ trả về -

  • -1, nếu số lượng các số tương ứng lớn hơn trong mảng thứ nhất so với mảng thứ hai nhiều hơn số tương ứng lớn hơn trong mảng thứ hai

  • 1, nếu số lượng các số tương ứng lớn hơn trong mảng thứ hai so với mảng đầu tiên nhiều hơn số tương ứng lớn hơn trong mảng đầu tiên.

  • 0, nếu cả hai số đều bằng nhau.

Ví dụ -

Đối với các mảng trên, đầu ra phải là -

const output = 1;

vì arr1 có 4 phần tử tương ứng lớn hơn trong khi arr2 có 5 phần tử tương ứng lớn hơn.

Ví dụ

Mã cho điều này sẽ là -

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

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

-11
-7
33
-33
34
28
-53
39
19
1