Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

123
Vistas
Tengo que hacer una función que tome una matriz de cadenas y devuelva una matriz con solo cadenas que no comiencen con una vocal

Escriba una función removeVowelKeys, que tome una matriz de cadenas de claves y devuelva una matriz de claves que no comience con una vocal (aeiouy). El caso de la letra no importa.

Ejemplo :

 removeVowelKeys(['alarm', 'chip', 'isValid', 'Advice', 'onClick']); // ['chip']

Aquí está mi intento, este es el máximo que podría obtener de él:

 function removeVowelKeys(keys) { let result = []; for (let i=0;i<=keys.length;i++){ if (keys[i][0]!= 'a'||keys[i][0]!= 'e'||keys[i][0]!= 'i'||keys[i][0]!= 'o'||keys[i][0]!= 'u'||keys[i][0]!= 'y'){ result.push(keys[i]) } } return result; }
about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

El problema con esta condición es:

 if (keys[i][0]!= 'a'||keys[i][0]!= 'e'||keys[i][0]!= 'i'||keys[i][0]!= 'o'||keys[i][0]!= 'u'||keys[i][0]!= 'y')

que coincidirá con cualquier alfabeto. Estás haciendo una comprobación OR . Tome por ejemplo e y haga un ensayo. Será psas la primera condición. a pasará la segunda condición. Y si alguna de las expresiones es verdadera, toda la expresión devuelve verdadera.

 function removeVowelKeys(keys) { let result = []; for (let i=0;i<keys.length;i++){ if (keys[i][0].toLowerCase()!= 'a'&&keys[i][0].toLowerCase()!= 'e'&&keys[i][0].toLowerCase()!= 'i'&&keys[i][0].toLowerCase()!= 'o'&&keys[i][0].toLowerCase()!= 'u'&&keys[i][0].toLowerCase()!= 'y'){ result.push(keys[i]) } } return result; } console.log(removeVowelKeys(['alarm', 'chip', 'isValid', 'Advice', 'onClick']));

Además de eso, desea que su código se ejecute hasta i<keys.length . Las matrices están basadas en 0 a la derecha. Y para manejar el caso, necesitaría minúsculas como se hizo anteriormente.

about 4 years ago · Santiago Trujillo Denunciar

0

Puede filter la matriz y, en cada elemento, verificar si el elemento startsWith un carácter de vocal de la matriz con some método.

 const vowelChar = ['a', 'o', 'e', 'i', 'y', 'u'] console.log(removeVowelKeys(['alarm', 'chip', 'isValid', 'Advice', 'onClick'])); // ['chip'] function removeVowelKeys(keys) { return keys.filter(item => !vowelChar.some(c => item.toLowerCase().startsWith(c))) }

about 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay otra solución en caso de que alguien quiera usar expresiones regulares. Todavía recorre las teclas y toma el primer carácter de cada argumento pasado, pero lo compara con las vocales.

 function removeVowelKeys(keys) { let result = []; for (let i = 0; i <= keys.length-1; i++) { if(!keys[i][0].match(/[aeiuoy]/i)){ result.push(keys[i]) } } return result; } console.log(removeVowelKeys(['alarm', 'chip', 'isValid', 'Advice', 'onClick']));

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda