Javascript 如何搜索具有多个值的单个单元格

Javascript 如何搜索具有多个值的单个单元格,javascript,json,Javascript,Json,我正在尝试搜索JSON。现在它的功能完全匹配。我想将多个数据添加到一个单元格中,它将如下所示:“data,data2,nope,nope2”。如果用户搜索“数据”,则需要匹配数据和数据2 这是json: [ {"car":"Mercedes, Toyota, KIA", "state":"SA", "groupName":"AHG"}, {"car":"BMW","state":"NSW","groupName":"Brighton BMW"}, {"car":"Tesla","state":"

我正在尝试搜索JSON。现在它的功能完全匹配。我想将多个数据添加到一个单元格中,它将如下所示:“data,data2,nope,nope2”。如果用户搜索“数据”,则需要匹配数据和数据2

这是json:

[
{"car":"Mercedes, Toyota, KIA", "state":"SA", "groupName":"AHG"},
{"car":"BMW","state":"NSW","groupName":"Brighton BMW"},
{"car":"Tesla","state":"VIC","groupName":"JAMES F"},
{"car":"Audi","state":"WA","groupName":"Audi CBD","groupPhone":"1300 04"},
{"car":"Mercedes","state":"SA","groupName":"AHG","groupPhone":"1300 05"}
]
例如,“汽车”的第一个字符串:“梅赛德斯,丰田,起亚”如果用户搜索丰田,我需要返回结果。现在,它只在字符串仅为“car”:“Toyota”时起作用

var-app=新的Vue({
el:“#应用程序”,
数据:{
艾德卡:错,
汽车:[],
加载:false,
搜索车:“,
搜索状态:“
},
方法:{
搜索:函数(){
app.loading=true;
var searchQuery={
汽车:编码器组件(app.searchCar)
};
如果(应用程序搜索状态){
searchQuery.state=app.searchState;
};
请看(”https://sheetsu.com/apis/v1.0su/a4d7192e71fd", {
搜索:searchQuery
}).then(功能(数据){
控制台日志(数据);
app.cars=数据;
app.loading=false;
},
功能(err){
控制台日志(err);
app.cars=[];
app.loading=false;
});
},
}
})
您可以使用和

let arr=[{“car”:“Mercedes,Toyota,KIA”,“state”:“SA”,“groupName”:“AHG”},{“car”:“BMW”,“state”:“NSW”,“groupName”:“Brighton BMW”},{“car”:“Tesla”,“state”:“VIC”,“groupName”:“JAMES F”},{“car“丰田,测试功能”,“状态”:“SA”,“组名”:“AHG”}]
让selectedKey='car'
让selectedValue='Toyota'
让op=arr.filter(({[selectedKey]:key})=>key&&key.includes(selectedValue))

console.log(op)
简单的客户端搜索可以通过将正则表达式对象传递给
String#match
方法来实现,其中正则表达式的模式是您的查询/搜索字符串:

/* Returns non-null result is "query" matches any part of item.car string */
return item.car.match(new RegExp(query, "gi"))   
您可以将其与
Array#filter()
结合使用,以仅获取JSON的项目,其中
car
字段包含查询字符串:

const json=[
{“汽车”:“梅赛德斯、丰田、起亚”、“州”:“SA”、“集团名称”:“AHG”},
{“汽车”:“宝马”,“州”:“新南威尔士州”,“集团名称”:“布莱顿宝马”},
{“汽车”:“特斯拉”,“州”:“维克”,“集团名”:“詹姆斯F”},
{“汽车”:“奥迪”,“州”:“WA”,“集团名称”:“奥迪CBD”,“集团电话”:“130004”},
{“car”:“Mercedes”,“state”:“SA”,“groupName”:“AHG”,“groupPhone”:“130005”}
]
常量findItem=(数据,查询)=>{
返回数据。筛选器(项=>{
return item.car.match(新的RegExp(查询“gi”))
});
}
log(“搜索丰田”,findItem(json,Toyota”);
log(“搜索梅赛德斯”,findItem(json,“梅赛德斯”);
log(“搜索特斯拉”,findItem(json,“特斯拉”);

log(“搜索本田”,findItem(json,“本田”))
Max,您是否正在寻找一个客户端函数来执行此过滤?非常感谢!!我已经尝试将此应用到我的代码中,但认为我可能太新手了,不知道将其放置在何处:/MaxGraham不是问题-我不确定我是否完全理解您希望如何集成se但是,如果您查看了更新标题下的代码,希望这能为您提供一些关于如何使用它的线索:-)