Olá, Wilson!
Pelo que entendi, você utilizou a função map para localizar uma chave e valor em um objeto, certo?
No código que você compartilhou, você está utilizando a função map para percorrer a lista de objetos dadosCliente e verificar se o valor da chave "nome" é igual a "Cecelia". Se for, você imprime o índice e o objeto correspondente.
No entanto, diferentemente do find, o map retorna um novo array com os resultados de uma função aplicada a cada elemento do array original, mas você não está retornando nada dentro da função map. Além disso, você está utilizando console.log dentro da função map, o que não é recomendado.
Uma forma mais adequada de fazer essa busca utilizando a função map seria retornar um novo array com os objetos que correspondem ao critério de busca. Por exemplo:
function search(list, key, name) {
return list.map((value, index) => {
if (value[key] === name) {
return { index, value };
}
return null;
}).filter(obj => obj !== null);
}
const results = search(dadosCliente, "nome", "Cecelia");
console.log(results);
Nesse exemplo, a função search retorna um novo array results contendo os objetos que correspondem ao critério de busca. Se nenhum objeto for encontrado, o array será vazio.
Se tiver alguma dúvida, é só me dizer. Bons estudos!
Espero ter ajudado e bons estudos!