Recibo TypeError: theArray.find(...) is undefined a partir de un código que es, en esencia, similar a este:
if (!Array.isArray(theArray)) console.error("WARNING! theArray is not an array: ", theArray); console.log(theArray.find((element) => element).someProperty);No recibo el mensaje de error ¡ADVERTENCIA! theArray no es una matriz , pero recibo el error theArray.find(...) is undefined
El mensaje de error no dice que theArray no está definido, este es un mensaje de error que yo haría excepto cuando theArray no es del tipo matriz.
Dentro de la función de matriz habría una lógica más compleja, pero la simplifiqué para centrarme en el problema de Array.find(). La variable theArray es una matriz de objetos complejos, con muchas propiedades.
Array.find devolverá undefined cuando no encuentre un resultado.
El mensaje de error significa que la función find() devolvió undefined, entonces someProperty no se puede encontrar en undefined .
Ejemplo para aclaración:
let testArray = [{a: 3}, {a: 4}, {a: 5}]; let notArray = 5; testArray.find((item) => item.a === 3); resultará Object { a: 3 }
tetArray.find((item) => item.a === 3); resultará un Uncaught ReferenceError: tetArray is not defined
notArray.find((item) => item.a === 3); dará como resultado Uncaught TypeError: notArray.find is not a function
testArray.find((item) => item.a === 7).a; dará como resultado Uncaught TypeError: testArray.find(...) is undefined