Если у меня есть ввод, и пользователь должен выбрать страну из списка, и у меня есть массив объектов

[
    {
    "id":1,
    "country": "Afghanistan",
    "cities": [
    "Herat",
    "Kabul",
    "Kandahar",
    "Molah"
    ]
    },
    {
    "id":2,
    "country": "Albania",
    "cities": [
    "Elbasan",
    "Petran",
    "Pogradec"
    ]
    },
    {
    "id":3,
    "country": "Algeria",
    "cities": [
    "Algiers",
    "Annaba",
    "Azazga",
    "Batna City"
    ]
    }]

Как я могу добраться до городов конкретной страны, выбранной пользователем?

-1
Nora 1 Окт 2022 в 20:48
Вы пытались написать какой-нибудь код или провести какое-либо исследование, например, выполнить поиск "как найти элемент в массиве объектов"? Как насчет arr.find(e => e.country === userPick).cities?
 – 
ggorlen
1 Окт 2022 в 20:52

1 ответ

Если у вас есть теги в HTML со значениями «id» в этих данных JSON. Затем всякий раз, когда пользователь нажимает на каждую из стран, у вас будет идентификатор этой страны в вашем JS примерно так:

var country_id = document.getElementById("IdOfSelectTag").value

Затем вы можете просто отфильтровать города, которые являются частью этого идентификатора, используя (если вы назвали данные JSON как «countries_data»):

countries_data.find(e => e.coutry === country_id)

Затем вы можете поместить «countries_data» в таблицу, выбрать и т. д. теги в HTML, чтобы показать их пользователям.

0
Amirhossein Sefati 1 Окт 2022 в 20:58