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

158
Views
Función para buscar una matriz y devolver una matriz de elementos con similitudes especificadas

Codificador principiante aquí tomando un curso en js. Estoy atascado en un problema que me pide que escriba una función que tome una matriz de países diferentes y devuelva matrices de países que tienen elementos comunes específicos (por ejemplo, devolver países que terminan en 'tierra' o 'ia' como una matriz). Aquí está el código que he escrito:

 const countries = ['Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland', 'Ethiopia'] function categorizeCountries(keyword) { for (country of countries) { if (keyword = 'land') { console.log([countries.filter((country) => country.endsWith('land'))]) } else if (keyword = 'en') { console.log([countries.filter((country) => country.endsWith('ia'))]) } else if (keyword ='ia') { console.log([countries.filter((country) => country.endsWith('en'))]) } else { console.log('Country does not Exists') } } } console.log(categorizeCountries(['land'])) console.log(categorizeCountries(['en'])) console.log(categorizeCountries(['ia']))

La consola solo devuelve las matrices que cumplen con la especificación 'tierra' y devuelve la misma matriz 5 veces para cada búsqueda. He intentado varias cosas y esto es lo que me tiene más cerca, simplemente no sé lo que me estoy perdiendo. Cualquier ayuda es bienvenida.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Estás haciendo muchas cosas mal, pero buen intento de todos modos.

  1. filter ya filtra a través de una matriz que no necesita usar el bucle for.
  2. pasar una matriz a categorizeCountries(['in']) es inútil, intente llamarlo con solo una cadena categorizeCountries('in')
  3. intente implementar esto con una declaración de cambio de caso, ya que es un mejor caso de uso que si la declaración
  4. console.log() devuelve vacío, por eso al final se imprime sin definir.

 const countries = ['Finland', 'Sweden', 'Denmark', 'Norway', 'Iceland', 'Ethiopia'] function categorizeCountries(keyword) { if (keyword == 'land') { console.log(countries.filter((country) => country.endsWith('land'))) } else if (keyword == 'en') { console.log(countries.filter((country) => country.endsWith('ia'))) } else if (keyword =='ia') { console.log(countries.filter((country) => country.endsWith('en'))) } else { console.log('Country does not Exists') } } categorizeCountries('land') categorizeCountries('en') categorizeCountries('ia')

el resultado debe ser:

 ['Finland', 'Iceland'] ['Ethiopia'] ['Sweden']
about 4 years ago · Juan Pablo Isaza Report

0

.filter ya está recorriendo la matriz; lo mismo que un bucle for. Usar la keyword param en .endsWith sería suficiente

 function categorizeCountries(keyword) { return countries.filter((country) => country.endsWith(keyword)); }
about 4 years ago · Juan Pablo Isaza 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!