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

完成课程获取认证

开始
广告
© . All rights reserved.