Javascript 确定给定数组中成对值的数目
下面的代码给了我一个错误的结果,你知道我该如何解决这个问题吗?我需要得到一个数组中传递给函数的成对值的数目,n是数组本身的arr长度Javascript 确定给定数组中成对值的数目,javascript,arrays,Javascript,Arrays,下面的代码给了我一个错误的结果,你知道我该如何解决这个问题吗?我需要得到一个数组中传递给函数的成对值的数目,n是数组本身的arr长度 function TotalpairValues(n,arr)=>{ 设对=0; for(设i=0;if.count>1).length; console.log(重复计数)行中的dist是什么如果(!dist.includes(arr[i]))?您的代码根本没有运行…这是一个输入错误,在更改为distinctValue之前,我将变量命名为dist,因此当我更改
function TotalpairValues(n,arr)=>{
设对=0;
for(设i=0;i 控制台日志(测试)
似乎不需要使用distinctValue
来计算重复值。但是,您可以使用reduce
方法对重复项进行计数,然后只过滤不重复的值:
const result = arr.reduce((a, o) => {
a[o] = a[o] || {o, count: 0};
a[o].count += 1;
return a;
},{})
let countDuplicates = Object.values(result).filter(f => f.count > 1).length;
例如:
让arr=[2,4,2,3,4];
const result=arr.reduce((a,o)=>{
a[o]=a[o]|{o,计数:0};
a[o]。计数+=1;
返回a;
},{})
让countDuplicates=Object.values(result).filter(f=>f.count>1).length;
console.log(重复计数)代码>行中的dist是什么如果(!dist.includes(arr[i]))
?您的代码根本没有运行…这是一个输入错误,在更改为distinctValue之前,我将变量命名为dist,因此当我更改变量时,我没有更改这一行。它应该读不同的值对不起