当我想在多维数组中搜索时遇到问题。 我在文本区域中有一个字符串
<textarea id='alltemplatememe'>
['2','makan lagi','kwik-templatememe-20171208215155.jpg'],['1','apapun','kwik-templatememe-20171208215124.jpg']
</textarea>
我将textarea中的数据更改为数组,例如下面的函数
function meme_template_search(){
var keyword=$("#keyword_template").val();
var template=$("#alltemplatememe").val();
var resultsame="";
template=eval("[" + template + "]");
for(var i=0; i<template.length; i++){
result=template[i][1].search(new RegExp(keyword, "i"));
if(result=="1"){
resultsame+=template[i][1]+", ";
}
result="";
}
alert(resultsame);
}
我已经尝试了上面的代码,但问题是上面的代码只显示一个结果
当我使用关键字“a”进行搜索时,应该是两个,但我制作的函数只显示一个结果
最佳答案
您将结果限制为只有这一行
if(result=="1"){
得出关键字在字符串中出现的位置。
即:
Search 'a' in 'Apple' -> 0 | Search 'to' in 'Potato' -> 4
当您的关键字没有出现在字符串中时,结果将为-1
因此将您的行更改为:
if (result !== -1) {
当字符串匹配时,结果为真。
请参阅此处了解更多详细信息: JavaScript RegExp Object
关于javascript - 在多维数组上显示多个搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47717568/