if(e.target.className === "deleteNode") { console.log(e.target.parentNode); let index = allNodes.findIndex(el => { console.log("E: "+e.target.parentNode.lastChild.innerHTML); console.log("El: "+el.lastChild.innerHTML); console.log("compare: "+el.lastChild.innerHTML.localeCompare(e.target.parentNode.lastChild.innerHTML)); el.lastChild.innerHTML.localeCompare(e.target.parentNode.lastChild.innerHTML)) }); console.log("index: "+index);Lo anterior se llama desde un oyente de clics. El clic ocurre en un botón dentro de un elemento div creado dinámicamente. El último hijo del div es un nodo <p>. Quiero obtener el índice de la primera coincidencia para el valor del texto dentro de ese div. allNodes es una matriz declarada en la parte superior del script.
He intentado usar el comparador === pero el mismo resultado. Las 2 cadenas son idénticas pero findIndex() falla (devuelve -1)
salida de la consola para el segmento anterior a continuación 
No hay retorno automático de las funciones de flecha cuando usa {} así. Tienes que usar la declaración de return .
if(e.target.className === "deleteNode") { console.log(e.target.parentNode); let index = allNodes.findIndex(el => { console.log("E: "+e.target.parentNode.lastChild.innerHTML); console.log("El: "+el.lastChild.innerHTML); console.log("compare: "+el.lastChild.innerHTML.localeCompare(e.target.parentNode.lastChild.innerHTML)); return el.lastChild.innerHTML.localeCompare(e.target.parentNode.lastChild.innerHTML)) }); console.log("index: "+index);