Если вы видите скриншот журнала, вы сначала получаете и undefined
регистрируетесь.Это, скорее всего, потому что ваша выборка происходит при каждом нажатии клавиши, и если вы ищете в API один символ (, который вы отправили с первым keyup
), вы не получите никаких результатов и, следовательно,forEach
терпит неудачу.
Либо проверяйте, имеют ли данные значение, перед выполнением forEach
, либо даже не отправляйте выборку, если строка поиска состоит из одного символа.
let data = res.moveData.Search
let output = ''
if (!data) return; //early break if not results where returned.
или измените if (input !== '') {
на
if (input.trim().length > 1) { // only do the fetch if more than one characters where entered
, хотя вы все равно не сможете получить результаты, даже если отправите более одного символа, так что 1-й подход безопаснее.