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 />");