Хочу настроить фильтрацию, такого объекта как возможно это сделать на 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"}
  ]
}
]
  1. вводим данные в search -> если строка совпало с названием региона выводим список городов с названием региона;
  2. иначе если не совпало то ищем по названию городу, если название города совпало со строкой, то выводим этот конкретный город с названием его региона;
  3. а иначе убираем список.

Ответы (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>

→ Ссылка