gpt4 book ai didi

javascript - 我有一组根据所选城市长度不同的对象。如何选择持有具有某种属性的对象的元素?

转载 作者:行者123 更新时间:2023-11-28 17:08:09 25 4
gpt4 key购买 nike

长话短说,数组的长度取决于所选的城市,因此我无法使用索引选择元素,因为我不知道该元素的索引是什么。因此,我需要根据其属性之一的值来选择它。

就我而言,我想选择包含具有属性 types: ['locality', 'political'] 的对象的元素。

示例结果。我没有包含前 7 个数组元素,因为它们不相关:

7:
address_components: (3) [{…}, {…}, {…}]
types: Array(2)
0: "locality"
1: "political"
8:
address_components: (2) [{…}, {…}]
types: Array(2)
0: "administrative_area_level_1"
1: "political"

如您所见,每个元素都有一个 types 属性,它是一个数组。我目前正在尝试使用 types: ['locality', 'political'] 而不是索引来选择索引为 7 的元素。

遗憾的是我不知道如何做到这一点,所以我没有补充任何代码。

[
{
"address_components": [
{
"long_name": "19",
"short_name": "19",
"types": [
"street_number"
]
},
{
"long_name": "Clanbrassil Street Lower",
"short_name": "Clanbrassil Street Lower",
"types": [
"route"
]
},
{
"long_name": "Wood Quay",
"short_name": "Wood Quay",
"types": [
"neighborhood",
"political"
]
},
{
"long_name": "Dublin 8",
"short_name": "Dublin 8",
"types": [
"postal_town"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
},
{
"long_name": "D08 X798",
"short_name": "D08 X798",
"types": [
"postal_code"
]
}
],
"formatted_address": "19 Clanbrassil Street Lower, Wood Quay, Dublin, D08 X798, Ireland",
"geometry": {
"location": {
"lat": 53.3349244,
"lng": -6.2740099
},
"location_type": "ROOFTOP",
"viewport": {
"northeast": {
"lat": 53.3362733802915,
"lng": -6.272660919708499
},
"southwest": {
"lat": 53.3335754197085,
"lng": -6.275358880291503
}
}
},
"place_id": "ChIJZckoE7wNZ0gRgHdbQYYvYTk",
"plus_code": {
"compound_code": "8PMG+X9 Dublin, County Dublin, Ireland",
"global_code": "9C5M8PMG+X9"
},
"types": [
"cafe",
"establishment",
"food",
"point_of_interest"
]
},
{
"address_components": [
{
"long_name": "21",
"short_name": "21",
"types": [
"street_number"
]
},
{
"long_name": "R137",
"short_name": "R137",
"types": [
"route"
]
},
{
"long_name": "Wood Quay",
"short_name": "Wood Quay",
"types": [
"neighborhood",
"political"
]
},
{
"long_name": "Dublin 8",
"short_name": "Dublin 8",
"types": [
"postal_town"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "21 R137, Wood Quay, Dublin, Ireland",
"geometry": {
"location": {
"lat": 53.3348735,
"lng": -6.273865
},
"location_type": "ROOFTOP",
"viewport": {
"northeast": {
"lat": 53.3362224802915,
"lng": -6.272516019708497
},
"southwest": {
"lat": 53.3335245197085,
"lng": -6.275213980291502
}
}
},
"place_id": "ChIJYVO9ECIMZ0gR2bQrf0Ktmso",
"plus_code": {
"compound_code": "8PMG+WF Dublin, County Dublin, Ireland",
"global_code": "9C5M8PMG+WF"
},
"types": [
"street_address"
]
},
{
"address_components": [
{
"long_name": "18",
"short_name": "18",
"types": [
"street_number"
]
},
{
"long_name": "Clanbrassil Street Lower",
"short_name": "Clanbrassil Street Lower",
"types": [
"route"
]
},
{
"long_name": "Wood Quay",
"short_name": "Wood Quay",
"types": [
"neighborhood",
"political"
]
},
{
"long_name": "Dublin 8",
"short_name": "Dublin 8",
"types": [
"postal_town"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "18 Clanbrassil Street Lower, Wood Quay, Dublin, Ireland",
"geometry": {
"location": {
"lat": 53.3349987,
"lng": -6.2739341
},
"location_type": "RANGE_INTERPOLATED",
"viewport": {
"northeast": {
"lat": 53.3363476802915,
"lng": -6.272585119708499
},
"southwest": {
"lat": 53.3336497197085,
"lng": -6.275283080291502
}
}
},
"place_id": "EiwxOCBDbGFuYnJhc3NpbCBTdHJlZXQgTG93ZXIsIER1YmxpbiwgSXJlbGFuZCIaEhgKFAoSCQexJhIiDGdIEUlWW2rVpRfqEBI",
"types": [
"street_address"
]
},
{
"address_components": [
{
"long_name": "Clanbrassil Street Lower",
"short_name": "R137",
"types": [
"route"
]
},
{
"long_name": "Merchants Quay",
"short_name": "Merchants Quay",
"types": [
"neighborhood",
"political"
]
},
{
"long_name": "Dublin 8",
"short_name": "Dublin 8",
"types": [
"postal_town"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Clanbrassil Street Lower, Merchants Quay, Dublin, Ireland",
"geometry": {
"bounds": {
"northeast": {
"lat": 53.33516729999999,
"lng": -6.273907599999999
},
"southwest": {
"lat": 53.3345896,
"lng": -6.274462
}
},
"location": {
"lat": 53.3348778,
"lng": -6.274183000000001
},
"location_type": "GEOMETRIC_CENTER",
"viewport": {
"northeast": {
"lat": 53.33622743029149,
"lng": -6.272835819708497
},
"southwest": {
"lat": 53.33352946970849,
"lng": -6.275533780291502
}
}
},
"place_id": "ChIJzSxnESIMZ0gR8A77SK0ccBQ",
"types": [
"route"
]
},
{
"address_components": [
{
"long_name": "Wood Quay",
"short_name": "Wood Quay",
"types": [
"neighborhood",
"political"
]
},
{
"long_name": "Dublin 8",
"short_name": "Dublin 8",
"types": [
"postal_town"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Wood Quay, Dublin, Ireland",
"geometry": {
"bounds": {
"northeast": {
"lat": 53.3454641,
"lng": -6.2680769
},
"southwest": {
"lat": 53.329641,
"lng": -6.275519999999999
}
},
"location": {
"lat": 53.33275459999999,
"lng": -6.2706881
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": 53.3454641,
"lng": -6.2680769
},
"southwest": {
"lat": 53.329641,
"lng": -6.275519999999999
}
}
},
"place_id": "ChIJl78TlSEMZ0gRUHtT8SkTqVA",
"types": [
"neighborhood",
"political"
]
},
{
"address_components": [
{
"long_name": "Dublin 8",
"short_name": "Dublin 8",
"types": [
"postal_town"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Dublin 8, Ireland",
"geometry": {
"bounds": {
"northeast": {
"lat": 53.37132399999999,
"lng": -6.2642699
},
"southwest": {
"lat": 53.325953,
"lng": -6.3563488
}
},
"location": {
"lat": 53.34785249999999,
"lng": -6.318115199999999
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": 53.37132399999999,
"lng": -6.2642699
},
"southwest": {
"lat": 53.325953,
"lng": -6.3563488
}
}
},
"place_id": "ChIJLz14IT8MZ0gR2uKxYpAO0Bc",
"types": [
"postal_town"
]
},
{
"address_components": [
{
"long_name": "Dublin City",
"short_name": "Dublin City",
"types": [
"administrative_area_level_2",
"political"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Dublin City, Co. Dublin, Ireland",
"geometry": {
"bounds": {
"northeast": {
"lat": 53.4111566,
"lng": -6.11309
},
"southwest": {
"lat": 53.2988569,
"lng": -6.387080600000001
}
},
"location": {
"lat": 53.3603142,
"lng": -6.315054200000001
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": 53.4111566,
"lng": -6.11309
},
"southwest": {
"lat": 53.2988569,
"lng": -6.387080600000001
}
}
},
"place_id": "ChIJv2RI7foRZ0gRwAKA8azHAAM",
"types": [
"administrative_area_level_2",
"political"
]
},
{
"address_components": [
{
"long_name": "Dublin",
"short_name": "Dublin",
"types": [
"locality",
"political"
]
},
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Dublin, Ireland",
"geometry": {
"bounds": {
"northeast": {
"lat": 53.42521010000001,
"lng": -6.0439235
},
"southwest": {
"lat": 53.22343009999999,
"lng": -6.4474847
}
},
"location": {
"lat": 53.3498053,
"lng": -6.2603097
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": 53.42521010000001,
"lng": -6.0439235
},
"southwest": {
"lat": 53.22343009999999,
"lng": -6.4474847
}
}
},
"place_id": "ChIJL6wn6oAOZ0gRoHExl6nHAAo",
"types": [
"locality",
"political"
]
},
{
"address_components": [
{
"long_name": "County Dublin",
"short_name": "County Dublin",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Co. Dublin, Ireland",
"geometry": {
"bounds": {
"northeast": {
"lat": 53.6347257,
"lng": -5.9962748
},
"southwest": {
"lat": 53.1781971,
"lng": -6.5468798
}
},
"location": {
"lat": 53.3302033,
"lng": -6.3105655
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": 53.6347257,
"lng": -5.9962748
},
"southwest": {
"lat": 53.1781971,
"lng": -6.5468798
}
}
},
"place_id": "ChIJv2RI7foRZ0gRwAKA8azHABg",
"types": [
"administrative_area_level_1",
"political"
]
},
{
"address_components": [
{
"long_name": "Ireland",
"short_name": "IE",
"types": [
"country",
"political"
]
}
],
"formatted_address": "Ireland",
"geometry": {
"bounds": {
"northeast": {
"lat": 55.4602,
"lng": -5.668900100000001
},
"southwest": {
"lat": 51.3066,
"lng": -10.7666001
}
},
"location": {
"lat": 53.41291,
"lng": -8.24389
},
"location_type": "APPROXIMATE",
"viewport": {
"northeast": {
"lat": 55.4602,
"lng": -5.668900100000001
},
"southwest": {
"lat": 51.3066,
"lng": -10.7666001
}
}
},
"place_id": "ChIJ-ydAXOS6WUgRCPTbzjQSfM8",
"types": [
"country",
"political"
]
}
]

最佳答案

您可以找到包含上述每种类型的元素:

 array.find(it => ['locality', 'political'].every(type => it.types.includes(type)))

关于javascript - 我有一组根据所选城市长度不同的对象。如何选择持有具有某种属性的对象的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55210520/

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