如何比较数组中的值:
['1', '2', '3', '4']
['2', '1', '4', '1']
就像:
if (1 > 2) return counter++
,
第一与第一,第二与第二,第三与第三。如果我做循环,我会做很多次:
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
if (Number(arr1[i]) > Number(arr2[j])) {
counter++;
}
}
}
我只想比较一次,每个键值和每个键值。因此,在此示例中,计数器应为2
答案 0 :(得分:1)
您可以使用Array.reduce
将第一个数组的元素与第二个数组进行比较。
const arr1 = ['1', '2', '3', '4'];
const arr2 = ['2', '1', '4', '1'];
const count = arr1.reduce((accumulator, element, idx) => {
return +arr2[idx] > +element? accumulator + 1 : accumulator;
}, 0);
console.log(count);
答案 1 :(得分:0)
只需将1用于如下所示的循环。由于数组具有相同的长度,因此您可以只使用第一个循环的索引。
'tor' is not recognized as an internal or external command,
operable program or batch file.
答案 2 :(得分:0)
您需要一个循环并比较相同索引处的值。
<div id="heading-group-1" class="heading-group">
<h2>Heading for group 1</h2>
</div>
<div id="heading-group-2" class="heading-group">
<h2>Heading for group 2</h2>
</div>
答案 3 :(得分:0)
您不需要嵌套循环。您可以只使用单循环来做到这一点。
但是更干净的方法是使用Array.prototype.filter()
并获取其length
。
let arr1 = ['1', '2', '3', '4']
let arr2 = ['2', '1', '4', '1']
let count = arr1.filter((a,i) => +a > +arr2[i]).length;
console.log(count)