Как применить фильтр к следующему коду? - PullRequest
0 голосов
/ 09 мая 2018
{
"cities":[
    {"name":"bangalore","hotels":["park","leela","mac"]},
    {"name":"chennai","hotels":["shang","mang","bang"]},
    {"name":"hyderabad","hotels":["taj","oberai","ibis"]}
    ]}

Я пытался с помощью city.filter ("bangalore") найти отели, связанные с Бангалором, но я не могу его получить

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете использовать filter(obj => obj.name === 'bangalore'), чтобы получить объект с именем bangalore, и если имя может быть Bangalore с заглавными буквами, тогда вы можете использовать filter(obj => obj.name.toLowerCase() === 'bangalore').

var data = {
"cities":[
    {"name":"bangalore","hotels":["park","leela","mac"]},
    {"name":"chennai","hotels":["shang","mang","bang"]},
    {"name":"hyderabad","hotels":["taj","oberai","ibis"]}
    ]};
    
var res = data.cities.filter(obj => obj.name === 'bangalore');
console.log(res);

Вы также можете использовать цикл forEach(), чтобы получить только массив отелей, относящийся к bangalore

var data = {
  "cities":[
    {"name":"Bangalore","hotels":["park","leela","mac"]},
    {"name":"chennai","hotels":["shang","mang","bang"]},
    {"name":"bangalore","hotels":["taj","oberai","ibis"]}
  ]};

var hotels = [];
data.cities.forEach((obj) => {
  if(obj.name.toLowerCase() === 'bangalore'){
    hotels.push(...obj.hotels);

  }
});
console.log(hotels);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...