Problem z object.find

Problem z object.find
adams0
  • Rejestracja:prawie 8 lat
  • Ostatnio:dzień
  • Postów:317
0

Cześć !
Napotkałem w internecie pewne zadanie i ku mojemu zdziwieniu moja odpowiedź nie działa:

Mam przykładową tablicę:

Kopiuj
const ladders = [
  { id: 1, height: 20 },
  { id: 4, height: 25 },
];

I mam stworzyć funkcję która wyszuka obiekt z tablicy.
Pierwszym argumentem ma być tablica, a drugim obiekt typu {height: 25}.
Więc funkcja:

Kopiuj
findWhere(ladders, {height: 25})

powinna zwrócić:

Kopiuj
{ id: 4, height: 25 }

Stworzyłem taką funkcję:

Kopiuj
function findWhere(array, criteria) {
  array.find((array) => {
    const keys = Object.keys(criteria);
    return array[keys[0]] === criteria[keys[0]];
  });
}

przy założeniu że warunek będzie jeden

Niestety zwraca ona undefined i nie wiem dla czego.
Co zrobiłem nie tak?

M3
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 3 lata
  • Postów:195
3

Bo nie zwracasz w funkcji tej wartości

Kopiuj
function findWhere(array, criteria) {
  return array.find((array) => {
    const keys = Object.keys(criteria);
    return array[keys[0]] === criteria[keys[0]];
  });
}
edytowany 1x, ostatnio: cerrato

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.