Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

121
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!