Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays - Fatal编程技术网

Javascript 确定给定数组中成对值的数目

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,因此当我更改

下面的代码给了我一个错误的结果,你知道我该如何解决这个问题吗?我需要得到一个数组中传递给函数的成对值的数目,n是数组本身的arr长度

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,因此当我更改变量时,我没有更改这一行。它应该读不同的值对不起