Накратко
find() връща първия подходящ елемент, а не списък. При липса на съвпадение резултатът е undefined.
Полезно е да знаеш
Използвай find(), когато ти трябва един запис от масив и първото съвпадение е достатъчно. Методът обхожда по реда на индексите и спира, когато условието върне истинна стойност. Ако никой елемент не отговаря, получаваш undefined. [1]
Нека const books = [{id: 4, title: 'А'}, {id: 9, title: 'Б'}];. Изразът books.find(book => book.id === 9) връща втория обект. При търсене на id 30 резултатът е undefined. Затова провери намерения запис, преди да прочетеш title от него.
Разликата между елемент и позиция има практическо значение. Върнатият обект не е неговият индекс. Не използвай резултата като число за достъп до масива. Ако различни записи имат еднакъв идентификатор, find() не доказва уникалност: той просто връща първия.
Това е удобно за избор на продукт от вече зареден каталог. Валидирането дали идентификаторът действително е уникален остава отделно правило на данните.
Източници
За повече подробности и проверка на информацията: