En la línea 9, la colección [2] es igual a la fuente, pero la instrucción if resultante registra 'lo siento, no se encuentra'. ¿Por qué no registra Object.keys (fuente) en su lugar?
const collection = [ {id: 1, name: 'A'}, {id: 2, name: 'B'}, {id: 3, name: 'C'} ] const source = {id: 3, name: 'C'} if (collection[2] == source) { console.log(Object.keys(source)) } else { console.log('sorry not found') }Los objetos son tipos de referencia, por lo que no puede usar === o == para comparar 2 objetos. En su lugar, intente esto:
const collection = [ {id: 1, name: 'A'}, {id: 2, name: 'B'}, {id: 3, name: 'C'} ] const source = {id: 3, name: 'C'} if (JSON.stringify(collection[2]) === JSON.stringify(source)) { console.log(Object.keys(source)) } else { console.log('sorry not found') }