我有一个数组中的多个对象(我缩短了例子,所以它没有多大意义,但我认为这是更好理解问题):搜索整个对象数组,并返回整个对象,如果一个值匹配一个字符串或子串
address_components: [
{
id: 1,
name: "41",
types: "street_number"
},
{
id: 2,
name: "Tal",
types: "route"
},
{
id: 3,
name: "München",
types: "city"
},
{
id: 4,
name: "Deutschland",
types: "country, political"
},
]
我想查看这些对象并搜索类型,如“国家”。如果一个类型的“国家”发现我希望整个对象回来,所以:
{
id: 4,
name: "Deutschland"
types: "country, political"
}
我得到了以下的方法:
var searchFor = "city";
var addressComponent = response.address_components.filter(function(e) {
return searchFor.indexOf(e.types) != -1;
});
如果我搜索“城”工作,但如果我搜索像“国家”这样的子字符串(?)。 这种方法是否正确,如果我在我的示例中搜索“国家/地区”,我可以以某种方式扩展它以返回正确的结果吗?