Javascript 以最少的运行时间高效地查找和返回多个值的数组位置
在最少的运行中查找并返回多个值的数组位置Javascript 以最少的运行时间高效地查找和返回多个值的数组位置,javascript,arrays,search,arraylist,Javascript,Arrays,Search,Arraylist,在最少的运行中查找并返回多个值的数组位置 function getAllIndexes(arr, val) { var indexes = [], i = -1; while ((i = arr.indexOf(val, i+1)) != -1){ indexes.push(i); } return indexes; } var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"]; var
function getAllIndexes(arr, val) {
var indexes = [], i = -1;
while ((i = arr.indexOf(val, i+1)) != -1){
indexes.push(i);
}
return indexes;
}
var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"];
var indexes = getAllIndexes(Cars, "Nano");
//will return 0 3 5
如何在更短的时间内搜索多个项目并快速高效地返回位置
var indexes = getAllIndexes(Cars, ["Nano","BMW"]);
//should return 0 2 3 5 6
您需要一种不同的方法,因为您需要寻找更多的值 您可以映射匹配项的索引,或者为未找到的项选择
-1
,以便稍后进行筛选
const
getAllIndices=(数组,指针)=>数组
.map((v,i)=>针。包括(v)?i:-1)
.filter(i=>i+1);
var汽车=[“纳米”、“沃尔沃”、“宝马”、“纳米”、“大众”、“纳米”],
指数=获得指数(汽车,[“纳米”,“宝马]);
控制台日志(索引)代码>您需要一种不同的方法,因为您要查找的值不止一个
您可以映射匹配项的索引,或者为未找到的项选择-1
,以便稍后进行筛选
const
getAllIndices=(数组,指针)=>数组
.map((v,i)=>针。包括(v)?i:-1)
.filter(i=>i+1);
var汽车=[“纳米”、“沃尔沃”、“宝马”、“纳米”、“大众”、“纳米”],
指数=获得指数(汽车,[“纳米”,“宝马]);
控制台日志(索引)代码>是否可以在不使用=>运算符的情况下使用。实际上,我正在寻找类似的使用应用程序scriptincludes在谷歌应用程序scriptincludes中不受支持。如果没有=>operator,是否可以使用它。实际上,我正在寻找类似的应用程序脚本,谷歌应用程序脚本不支持它