Nuestra tarea es escribir una función que filtre una lista de nombres humanos. El resultado debe ser solo nombres sin guión ("-").
Las únicas ideas que tengo hasta ahora:
let names = ['Marc', 'Stephen-Peter', 'Lisa', 'Marie-Tina', 'Philip']; function filter (arr) { for (let i = 0; i < arr.length; i++) { ??????; } return ???; } console.log(???); //The result should be only Marc, Lisa, PhilipMis ideas eran usar charAt y verificar cada palabra en busca de un "-", pero no sé cómo evitar que el nombre completo con el guión no esté dentro de la nueva matriz filtrada. Pensé en dos bucles for No sé cómo hacer eso.
Sobre la base de su idea, creo que solo necesita usar una condición if y una nueva matriz a la que pasa los valores filtrados.
let names = ['Marc', 'Stephen-Peter', 'Lisa', 'Marie-Tina', 'Philip']; function filter (arr) { let ans =[]; for (let i = 0; i < arr.length; i++) { if(arr[i].indexOf('-') === -1) ans.push(arr[i]); } return ans; } console.log(filter(names));PD: Su lista de nombres no estaba encerrada. Asegúrese de hacerlo cada vez que publique una pregunta/respuesta. También intente usar fragmentos de código.
primero, los elementos de la matriz deben estar entre comillas simples o dobles let names = ['Marc', 'Stephen-Peter', 'Lisa', 'Marie-Tina', 'Philip'];
function filter (arr) { let result = [] for (let i = 0; i < arr.length; i++) { if(!arr[i].includes('-')) { result.push(arr[i]) } } return result } console.log(filter(names))