gpt4 book ai didi

javascript - 如何只返回数组中匹配对值的数量?

转载 作者:可可西里 更新时间:2023-11-01 02:31:43 24 4
gpt4 key购买 nike

假设我在一次旧货大甩卖中发现了一盒宽松的鞋子(都是同一种),我创建了一个数组,其中每只鞋子都按鞋码列出。

我想显示数组中鞋码配对值的数量。例如,我有这个数组:

[10,10,10,10,20,20,20,30,50]

我想显示 3 因为我们有 3 对数字:

10,10
10,10
20,20

还有 3 个没有匹配对值的剩余值 (20,30,50)。

我该怎么做?

function pairNumber(arr) {
var sorted_arr = arr.sort();
var i;
var results = [];
for (i = 0; i < sorted_arr.length; i++) {
if (sorted_arr[i + 1] == sorted_arr[i]) {
results.push(sorted_arr[i]);
}

}
return results.length;
}
console.log(pairNumber([10, 10, 10, 10, 20, 20, 20, 30, 50]))

最佳答案

这是使用 Set 的另一种方法:

function pairNumbers(arr) {
let count = 0;
const set = new Set();

for (let i = 0; i < arr.length; i++) {
if (set.delete(arr[i])) {
count++;
} else {
set.add(arr[i])
}
}

return count;
}
console.log(pairNumbers([10, 10, 10, 10, 20, 20, 20, 30, 50])) // 3

关于javascript - 如何只返回数组中匹配对值的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57837661/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com