如何在纯JavaScript中通过一个值获得数组的多个索引(值精确匹配)
我试图使indexOf返回数组项的多个索引,这些索引的值等于“1”(完全匹配) 以下是我正在做的:如何在纯JavaScript中通过一个值获得数组的多个索引(值精确匹配),javascript,arrays,indexof,Javascript,Arrays,Indexof,我试图使indexOf返回数组项的多个索引,这些索引的值等于“1”(完全匹配) 以下是我正在做的: var arr = [1, 11, 1, 111, 1111, 11, 1, 1111, 11]; for (i = 0; i < arr.length; i++){ console.log(arr.findIndex(1, i)); } var-arr=[1,11,1111111,11,1111111,11]; 对于(i=0;i{ n==1和r.push(i); 返回r; }, []
var arr = [1, 11, 1, 111, 1111, 11, 1, 1111, 11];
for (i = 0; i < arr.length; i++){
console.log(arr.findIndex(1, i));
}
var-arr=[1,11,1111111,11,1111111,11];
对于(i=0;i
我预期的结果是:
0
2.
六,
但实际上,在提到索引之后,我得到了“-1”值。我假设它与数组的
值(每个值包括“1”,但不等于“1”)。当我对数组执行相同操作时
不同的值,它可以根据需要工作
它真的与价值观有关吗?如果是,如何解决这个问题?
如果有更合适的方法通过一个值(精确匹配)来查找多个数组的索引,我们将不胜感激。您可以将数组转换为索引数组,该值为1
:
const arr=[1,11,1111111,11,1111,11];
常数索引=arr.reduce((r,n,i)=>{
n==1和r.push(i);
返回r;
}, []);
console.log(索引)
您可以将索引数组转换为数组,其值为1
:
const arr=[1,11,1111111,11,1111,11];
常数索引=arr.reduce((r,n,i)=>{
n==1和r.push(i);
返回r;
}, []);
console.log(索引)代码>使用纯JavaScript有多种方法。我添加了一些
使用
var-arr=[1,11,1111111,11,1111111,11];
var键=[];
var FILTED=arr.filter((e,i)=>{
如果(e==1){
按键(i);
}
});
控制台日志(键)代码>使用纯JavaScript有多种方法。我添加了一些
使用
var-arr=[1,11,1111111,11,1111111,11];
var键=[];
var FILTED=arr.filter((e,i)=>{
如果(e==1){
按键(i);
}
});
控制台日志(键)代码>的可能重复项的可能重复项