Javascript 搜索函数返回多个结果

Javascript 搜索函数返回多个结果,javascript,Javascript,我目前正在尝试创建一个搜索函数,该函数在数组中搜索字符串,并返回与字符串匹配的数组中位置的索引 例: 目前,我使用 document.getElementById("result").innerHTML= 但是我希望它返回多个结果如果您编写自己的函数,您应该能够: function indicesOf(input, value) { var indices = new Array(); for (var i = 0; i < input.length; i++) {

我目前正在尝试创建一个搜索函数,该函数在数组中搜索字符串,并返回与字符串匹配的数组中位置的索引

例:

目前,我使用

document.getElementById("result").innerHTML=

但是我希望它返回多个结果

如果您编写自己的函数,您应该能够:

function indicesOf(input, value) {
    var indices = new Array();
    for (var i = 0; i < input.length; i++) {
        if (input[i] == value)
            indices.push(i);
    }
    return indices;
}

我不确定这是否是您想要的,但是如果您想从DOM返回具有给定选择器的所有对象(与操作并返回过滤后的javascript数组相反),那么您可以使用
document.queryselectoral()
-

执行此操作

var arr = [1,2,3,4,5,2,3,1,6,5,2];
arr.map(function(x, i){
   return x == 3 ? i : null;
}).filter(Number); // get indexes
以上映射并过滤掉索引。那么,这仅仅是一个加入它的问题

document.getElementById("result").innerHTML= arr.join("<br />");
document.getElementById(“结果”).innerHTML=arr.join(“
”);
您可以添加更多关于您要做什么的信息吗?不清楚您给出的示例与您提供的javascript片段有何关联。您能否提供一些利用请求的搜索功能的周边代码?请提供您正在尝试做的事情和您尝试过的事情的代码。。看起来你只是停止在句子中间打字,而这正是我现在所拥有的:按“搜索”后,结果/结果将显示在右侧的“结果”下。谢谢。问题是我试图返回表中特定单元格内的值,这就是我尝试使用getElementByID的原因如果您可以访问值数组,您应该能够将该数组传递给我编写的函数:indicatesof(document.getElementByID(“result”)…但我不能告诉您要使用什么参数,因为我没有足够的信息来说明您的情况。@nono如果您编写了一个返回数组的函数,您可以使用
join
函数将其转换为一个格式良好的字符串和结果,例如:
document.getElementById('result')。innerHTML=indicatesof(输入,值)。join(',');
@AnthonyGrist-谢谢!通过您的示例,我终于理解了OP的javascript片段!这就是我现在拥有的:I.imgur.com/2SrWrkr.png。按search后,结果/结果将显示在右侧的“结果”下。您认为这对@AnthonyGrist有效吗?
var arr = [1,2,3,4,5,2,3,1,6,5,2];
arr.map(function(x, i){
   return x == 3 ? i : null;
}).filter(Number); // get indexes
document.getElementById("result").innerHTML= arr.join("<br />");