javascript - 在多维数组上显示多个搜索结果

标签 javascript jquery

当我想在多维数组中搜索时遇到问题。 我在文本区域中有一个字符串

<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/

相关文章:

javascript - 在 Javascript 中删除或隐藏文本区域中的 html 标签

javascript - 在脚本切换菜单中添加 "if"条件 (jquery)

javascript - 从 json 响应中获取键值

javascript - 使用包括脚本的长 block 动态更改 div 的源/内容

javascript - if else 条件在 jQuery 中不起作用

javascript - 根据单元格的值显示/隐藏表格行

javascript - 如何使用 jQuery 将所有 li 元素包装在 ul 元素内?

javascript - 如何使用 jquery 过滤特殊字符和字母?

javascript - 为什么 console.log() 不显示从 Object.create 继承的属性?

jquery - 为没有子(子)菜单的标题菜单添加不透明度