Boa noite João!
O problema ocorre por conta de que quando você usa uma função que percorre objetos, no caso o map, o retorno dentro deles serve para sair do laço de repetição.
Então no caso do seu código você sai do laço de repetição e depois não acontece mais nada e não retorna nenhum valor para quem está chamando, assim ocasionando o undefined no console.log.
Para solucionar isso, você pode criar uma variavel externa ao loop que recebe o valor que deseja retornar, segue código ajustado:
const numerosos = [4, 5, 7, 10, 6];
function verificarNumero(lista) {
var numeroParaRetornar = 0;
lista.map((arrNumeros) => {
if(arrNumeros % 2 === 0){
numeroParaRetornar = arrNumeros;
}
})
return numeroParaRetornar;
}
console.log(verificarNumero(numerosos)); //6
Deixando claro que para essa implementação, no loop sempre vai ser reescrito o valor da variavel, então o valor do console será sempre do último numero que entrou na condição if, caso queira mostrar no console todos os números que atendem a condição do if, será necessário que a váriavel seja um array e sempre que entrar no if executar um push nesse array.
Espero ter ajudado, fico à disposição!