Javascript 如何查找数组中第一个副本的索引?
我需要找到数组中第一个重复数字的索引,并使用for循环将其分配给一个空变量 提前谢谢 我试过很多逻辑运算符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
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;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)代码>一个选项是使用一个包含所有数字计数的变量,您可以使用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;i console.log(firstIndex)
您可以使用嵌套的for循环来检查数组中索引i之后的所有值:
var arrhithnumbers=[2,4,5,2,6,5,1,2,4,8];
var firstIndex=null;
对于(变量i=0;i log(firstIndex)
您可以获取访问值的哈希表并存储它们的索引。然后只需检查是否设置了hash属性并返回索引
这种方法使用单个循环,并在第一次找到相同值时尽早退出
函数findIndex(数组){
var index=Object.create(null),
i、 价值观;
对于(i=0;i log(findIndex([3,4,5,2,6,5,1,2,4,8]);//2
您可以为访问的值创建一个哈希表,并存储它们的索引。然后只需检查是否设置了hash属性并返回索引
这种方法使用单个循环,并在第一次找到相同值时尽早退出
函数findIndex(数组){
var index=Object.create(null),
i、 价值观;
对于(i=0;i log(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处的第一个重复项:(