比較 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

更新日期:22-2 月-2021

321 瀏覽量

Kickstart Your Career

完成課程獲取認證

開始
廣告