gpt4 book ai didi

javascript - 在javascript中使用json数组搜索过滤器

转载 作者:行者123 更新时间:2023-12-03 09:40:23 24 4
gpt4 key购买 nike

我有一个 json 数组,其中有一个数据列表。我想创建一个搜索过滤器,返回与关键字匹配的整行。例如,如果我的 json 数组是这样的:

var data = { "list":[
{
"engine":"Gecko",
"browser":"Firefox 1.0",
"platform":"Win 98+ / OSX.2+",
"version":"1.7",

},
{
"engine":"Tatsman",
"browser":"Firefox 1.5",
"platform":"Win 98+ / OSX.2+",
"version":"1.8",

},
]}

并以表格形式列出数据

  var output="<ul>";
for (var i in data.list) {
output+="<ul>"+"<li id='first'>"+ data.list[i].engine + " " +"</li>"+"<li id='second'>"+ data.list[i].browser +" "+"</li>"+"<li id='third'>"+data.list[i].platform+" "+"</li>"+"<li id='fourth'>" + data.list[i].version + " " +"</li>"+"</ul>";

output+="</ul>";

document.getElementById("lidynamic").innerHTML=output;

}

现在我需要一个返回整行的搜索框。例如,如果我搜索“tatsman”,则应显示包含值“tatsman”的整行。我有几个想法,但都属于 jquery 库。我只需要 JavaScript。

最佳答案

function search(data, query) {
var list = data.list;
for (var i = 0, row; row = list[i]; i++){
for (var item in row) {
if (row[item].indexOf(query) !== -1) {
return row;
}
}
}
return false;
}

然后你就可以打电话了

var row = search (data, "Tatsman");
console.log(row);

它返回找到的第一行。如果您愿意,我们可以改进它以获取与查询匹配的所有行。

希望有帮助:)

关于javascript - 在javascript中使用json数组搜索过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31204296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com