gpt4 book ai didi

javascript - 如何通过子值过滤数组javascript

转载 作者:行者123 更新时间:2023-12-02 15:32:29 26 4
gpt4 key购买 nike

我得到了这个对象

{
"results": [
{
"address_components": [
{
"long_name": "Abdon Cifuentes - Carlos Silva Vildosola",
"short_name": "Abdon Cifuentes - Carlos Silva Vildosola",
"types": [
"point_of_interest",
"establishment"
]
},
{
"long_name": "Concepción",
"short_name": "Concepción",
"types": [
"locality",
"political"
]
},
{
"long_name": "Concepción",
"short_name": "Concepción",
"types": [
"administrative_area_level_3",
"political"
]
},
{
"long_name": "Concepcion",
"short_name": "Concepcion",
"types": [
"administrative_area_level_2",
"political"
]
},
{
"long_name": "Región del Bío Bío",
"short_name": "Región del Bío Bío",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Chile",
"short_name": "CL",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Abdon Cifuentes - Carlos Silva Vildosola, Concepción, Concepción, Región del Bío Bío, Chile",
"geometry": {
"location": {
"lat": -36.8000307,
"lng": -73.0487725
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": -36.7986817197085,
"lng": -73.0474235197085
},
"southwest": {
"lat": -36.8013796802915,
"lng": -73.05012148029151
}
}
},
"place_id": "ChIJxy0y5a61aZYRq9rC4fyIYfg",
"types": [
"bus_station",
"transit_station",
"point_of_interest",
"establishment"
]
},
{
"address_components": [
{
"long_name": "Concepción",
"short_name": "Concepción",
"types": [
"locality",
"political"
]
},
{
"long_name": "Concepción",
"short_name": "Concepción",
"types": [
"administrative_area_level_3",
"political"
]
},
{
"long_name": "Concepcion",
"short_name": "Concepcion",
"types": [
"administrative_area_level_2",
"political"
]
},
{
"long_name": "Región del Bío Bío",
"short_name": "Región del Bío Bío",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Chile",
"short_name": "CL",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Concepción, Concepción, Región del Bío Bío, Chile",
"geometry": {
"bounds": {
"northeast": {
"lat": -36.76354250000001,
"lng": -72.98195799999999
},
"southwest": {
"lat": -36.8890559,
"lng": -73.0841332
}
},
"location": {
"lat": -36.8201352,
"lng": -73.0443904
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": -36.76354250000001,
"lng": -72.98195799999999
},
"southwest": {
"lat": -36.8890559,
"lng": -73.0841332
}
}
},
"place_id": "ChIJO8a70s21aZYRmCYhUrc3y0Q",
"types": [
"locality",
"political"
]
}
],
"status": "OK"
}

我需要的是在每个 results[i].types 数组中搜索的函数,如果函数 find results[i].types[j] == "locality"返回 results[i]。因此,如果 results[i].types[j] == "locality"没有找到任何巧合,则不返回任何内容。

最佳答案

使用Array.prototype.filter()缩小具有地点类型的结果

var filtered_results = data.results.filter(function(item){
return item.types.indexOf('locality') >-1;
});

然后从过滤后的数组中取出第一个

var addressParts
if(filtered_results.length){
addressParts = filtered_components[0].address_components;
}

关于javascript - 如何通过子值过滤数组javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33202312/

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