Хочу настроить фильтрацию, такого объекта как возможно это сделать на js?
Коллеги привет! хочу настроить фильтрацию, такого объекта как возможно это сделать ?
[
{
"region": "Moscov",
"cities": [
{"name": "Moscov1"},
{"name": "Moscov2"},
{"name": "Moscov3"},
{"name": "Moscov4"},
{"name": "Moscov5"}
]
},
{
"region": "Altay",
"cities": [
{"name": "Altay1"},
{"name": "Altay2"},
{"name": "Altay3"},
{"name": "Altay4"},
{"name": "Altay5"}
]
}
]
- вводим данные в search -> если строка совпало с названием региона выводим список городов с названием региона;
- иначе если не совпало то ищем по названию городу, если название города совпало со строкой, то выводим этот конкретный город с названием его региона;
- а иначе убираем список.
Ответы (1 шт):
Автор решения: Sergey Tatarincev
→ Ссылка
используйте .filter() для объекта
<script>
var arr = [
{
"region": "Moscov",
"cities": [
{"name": "Moscov1"},
{"name": "Moscov2"},
{"name": "Moscov3"},
{"name": "Moscov4"},
{"name": "Moscov5"}
]
},
{
"region": "Altay",
"cities": [
{"name": "Altay1"},
{"name": "Altay2"},
{"name": "Altay3"},
{"name": "Altay4"},
{"name": "Altay5"}
]
}
];
var filtered = arr.filter(a => a.region == "Altay");
console.log(filtered[0].cities);
</script>