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,我需要找到数组中第一个重复数字的索引,并使用for循环将其分配给一个空变量 提前谢谢 我试过很多逻辑运算符 var findIndex; var arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];//--->它应该给出结果console.log(findIndex)//0 var arrhithnumbers=[3,4,5,2,6,5,1,2,4,8];//--->它应该给出结果console.log(findIndex)//1 var ArrWithNumber=[2

我需要找到数组中第一个重复数字的索引,并使用for循环将其分配给一个空变量

提前谢谢

我试过很多逻辑运算符

var findIndex;
var arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];//--->它应该给出结果console.log(findIndex)//0
var arrhithnumbers=[3,4,5,2,6,5,1,2,4,8];//--->它应该给出结果console.log(findIndex)//1
var ArrWithNumber=[2,4,5,2,6,5,1,2,4,8];
var firstIndex=null;
对于(变量i=0;iconsole.log(firstIndex)一个选项是使用一个包含所有数字计数的变量,您可以使用
reduce

var arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];
var firstIndex=null;
var numberCount=arrhithnumbers.reduce((c,v)=>(c[v]=(c[v]| | 0)+1,c),{});
对于(变量i=0;i1){
第一指数=i;
打破
}
}

console.log(firstIndex)一个选项是使用一个包含所有数字计数的变量,您可以使用
reduce

var arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];
var firstIndex=null;
var numberCount=arrhithnumbers.reduce((c,v)=>(c[v]=(c[v]| | 0)+1,c),{});
对于(变量i=0;i1){
第一指数=i;
打破
}
}

console.log(firstIndex)您可以使用嵌套for循环来检查数组中索引i之后的所有值:

var arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];
var firstIndex=null;
对于(变量i=0;iconsole.log(firstIndex)
您可以使用嵌套的for循环来检查数组中索引i之后的所有值:

var arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];
var firstIndex=null;
对于(变量i=0;ilog(firstIndex)
您可以获取访问值的哈希表并存储它们的索引。然后只需检查是否设置了hash属性并返回索引

这种方法使用单个循环,并在第一次找到相同值时尽早退出

函数findIndex(数组){
var index=Object.create(null),
i、 价值观;
对于(i=0;ilog(findIndex([3,4,5,2,6,5,1,2,4,8]);//2
您可以为访问的值创建一个哈希表,并存储它们的索引。然后只需检查是否设置了hash属性并返回索引

这种方法使用单个循环,并在第一次找到相同值时尽早退出

函数findIndex(数组){
var index=Object.create(null),
i、 价值观;
对于(i=0;ilog(findIndex([3,4,5,2,6,5,1,2,4,8]);//2
firstIndex=arrhithnumbers.indexOf(i)应该是
firstIndex=i您的if条件没有检查重复项。Hi Sudhir,不幸的是,当我更改firstIndex=arrWithNumbers.indexOf(i);应该是firstIndex=i,结果是5。对于数组变量arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];我应该得到结果0,因为2是数组中位置0处的第一个副本:(
firstIndex=arrhithnumbers.indexOf(i);
应该是
firstIndex=i;
if条件没有检查重复项。嗨,Sudhir,很遗憾,当我更改firstIndex=arrhithnumbers.indexOf(i)时;应该是firstIndex=i,它给出了结果5。对于数组变量arrWithNumbers=[2,4,5,2,6,5,1,2,4,8];我应该得到结果0,因为2是数组中位置0处的第一个重复项:(