Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 搜索对象数组,如果值与字符串或子字符串匹配,则返回整个对象_Javascript_Search_Javascript Objects - Fatal编程技术网

Javascript 搜索对象数组,如果值与字符串或子字符串匹配,则返回整个对象

Javascript 搜索对象数组,如果值与字符串或子字符串匹配,则返回整个对象,javascript,search,javascript-objects,Javascript,Search,Javascript Objects,我在一个数组中有多个对象(我缩短了示例,因此没有多大意义,但我认为最好理解这个问题): 我想查看这些对象并搜索一种类型,如“country”。如果找到类型“country”,我希望返回整个对象,因此: { id: 4, name: "Deutschland" types: "country, political" } 我得到了以下方法: var searchFor = "city"; var addressComponent = response.address_com

我在一个数组中有多个对象(我缩短了示例,因此没有多大意义,但我认为最好理解这个问题):

我想查看这些对象并搜索一种类型,如“country”。如果找到类型“country”,我希望返回整个对象,因此:

{
    id: 4,
    name: "Deutschland"
    types: "country, political"
}
我得到了以下方法:

var searchFor = "city";
var addressComponent = response.address_components.filter(function(e) {
    return searchFor.indexOf(e.types) != -1;
});
如果我搜索“city”,它会起作用,但如果我搜索像“country”这样的子字符串(?)则不会起作用。 这种方法正确吗?如果在我的示例中搜索“country”,我是否可以扩展它以返回正确的结果?

假设country是类型的子字符串,然后简单地以另一种方式执行

return e.types.indexOf( searchFor ) != -1;
你倒过来了。 返回e.types.indexOf(searchFor)!=-1;

var地址\u组件=[
{
id:1,
姓名:"41",,
类型:“街道号码”
},
{
id:2,
名称:“好未来”,
类型:“路线”
},
{
id:3,
姓名:“门钦”,
类型:“城市”
},
{
id:4,
名称:“德国”,
类型:“国家,政治”
}
]
var searchFor=“政治”;
var响应=地址\组件。过滤器(函数(e){
返回e.types.indexOf(searchFor)!=-1;
});
控制台日志(响应)
return e.types.indexOf( searchFor ) != -1;