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

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,是否可以使用它。实际上,我正在寻找类似的应用程序脚本,谷歌应用程序脚本不支持它