繁体   English   中英

在使用 Javascript 搜索对象时需要帮助

[英]Need help on searching for an object using Javascript

我正在尝试使用数组中可用对象列表中的单词进行搜索,并且它在所有对象中都可用,然后我应该将消息打印为“匹配”

 var objects = [ { "foo" : "shaik", "bar" : "sit" }, { "foo" : "lorem", "bar" : "ipsum" }, { "foo" : "dolor", "bar" : "shaik" } ]; var results = []; var toSearch = "shaik"; for(var i=0; i<objects.length; i++) { for(key in objects[i]) { if(objects[i][key].indexOf(toSearch)!=-1) { results.push(objects[i]); } } } gs.log(JSON.stringify(results));

输出:

 *** Script: [{"foo":"shaik","bar":"sit"},{"foo":"dolor","bar":"shaik"}]

截至目前,使用上述脚本,我能够显示匹配的对象,但如何检查它是否在所有对象中可用,然后显示匹配结果

用户使用every方法进行检查。 如果搜索词中的所有对象(任何键)都存在,则打印“匹配”。

 var objects = [ { foo: "shaik", bar: "sit" }, { random: "shaik", temp: "ipsum", some: "hello" }, { foo: "dolor", bar: "shaik" } ]; var results = []; var toSearch = "shaik"; if (objects.every((obj) => Object.values(obj).includes(toSearch))) { console.log("Matched"); } else { console.log("Not Matched"); }

这个应该可以。

 var objects = [ { "foo" : "shaik", "bar" : "sit" }, { "foo" : "lorem", "bar" : "ipsum" }, { "foo" : "dolor", "bar" : "shaik" } ]; var results = []; var toSearch = "shaik"; for(var i=0; i<objects.length; i++) { if(!(objects[i]['foo']==toSearch || objects[i]['bar']==toSearch)) { results.push(objects[i]); } } console.log(results);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM