Как найти по значению ключа объект?

json:

let data = 
[ 
 {
  "room":{ 
   "flamingo":0
    }
  },
  {
  "park":{ 
   "flamingo":65
    }
  }
]

Можно ли с помощью значения найти объект?


Ответы (2 шт):

Автор решения: vsemozhebuty

Так подходит?

let data = [
  {
    room: {
      flamingo:0
    }
  },
  {
    park: {
      flamingo:65
    }
   }
];

const count = 65;

const placesWithFlamingo = data.filter((obj) => {
  const [[placeName, place]] = Object.entries(obj);
  return place.flamingo === count;
});

console.log(placesWithFlamingo);

→ Ссылка
Автор решения: c_k_rim

Анастасия, я Вам настоятельно реккомендую пересмотреть структуру Вашей переменной data. Она подозрительно "не складная". Но, если уж на то пошло - вот ответ на Ваш вопрос:

const findObjectByFlamingo = (data, neededFlamingo) => data.find(obj => obj[Object.keys(obj)[0]].flamingo === neededFlamingo)

Посмотрите описание функции find тут: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/find

→ Ссылка