Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在两个数组中仅比较一次键值_Javascript - Fatal编程技术网

Javascript 在两个数组中仅比较一次键值

Javascript 在两个数组中仅比较一次键值,javascript,Javascript,如何比较数组中的值: ['1', '2', '3', '4'] ['2', '1', '4', '1'] 就像: 如果(1>2)返回计数器+++ 第一和第一,第二和第二,第三和第三。如果我执行for循环,我将执行更多次: for (let i = 0; i < arr1.length; i++) { for (let j = 0; j < arr2.length; j++) { if (Number(arr1[i]) > Number(

如何比较数组中的值:

['1', '2', '3', '4']
['2', '1', '4', '1']
就像:

如果(1>2)返回计数器+++

第一和第一,第二和第二,第三和第三。如果我执行for循环,我将执行更多次:

for (let i = 0; i < arr1.length; i++) {
        for (let j = 0; j < arr2.length; j++) {
            if (Number(arr1[i]) > Number(arr2[j])) {
                counter++;
            }
        }
    }
for(设i=0;i编号(arr2[j])){
计数器++;
}
}
}

我只想比较它们一次,每个键值和每个键值。所以在这个例子中,计数器应该是2

,只需对下面的循环使用1即可。由于数组具有相同的长度,您可以将第一个循环中的索引用于这两个数组

var arr1=['1','2','3','4'];
var arr2=['2','1','4','1'];
对于(变量i=0;iarr2[i]){
控制台日志(arr1[i]);
}

}
您需要一个循环,并比较同一索引处的值

var array1=['1','2','3','4'],
数组2=['2','1','4','1'],
我
计数器=0;
对于(i=0;i+array2[i]){
计数器++;
}
}
控制台日志(计数器)您可以使用来比较第一个数组的元素与第二个数组的元素

  • 使用0作为累加器/计数器的初始值
  • 检查第一个数组的元素是否作为第二个数组传入 reduce回调的参数大于相应的 第二个数组的元素
  • 如果上述值为真,则增加累加器
  • const arr1=['1','2','3','4'];
    常量arr2=['2','1','4','1'];
    const count=arr1.reduce((累加器、元素、idx)=>{
    返回+arr2[idx]>+元素-累加器+1:累加器;
    }, 0);
    
    控制台日志(计数)这不需要嵌套循环。您可以只使用一个循环来实现这一点。
    但是,更干净的方法是使用并获取其
    长度

    让arr1=['1','2','3','4']
    设arr2=['2','1','4','1']
    let count=arr1.过滤器((a,i)=>+a>+arr2[i])长度;
    
    console.log(count)
    您不需要
    j
    。您只需要
    i
    ,并将其用作两个数组的索引。