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

122
Vistas
Angular iterate an array with two conditions

I have this array and these values:

levels$: Observable<any[]> = [
    {
       name: 'first level primary school'     
    }, 
    {
       name: 'second level primary school'     
    },
    {
      name: 'first level secondary school'     
    }
]

const isPrimarySchool = false
const isSecondarySchool = false

And I want to iterate the array and find if there is a string with the word 'primary' or 'secondary' (it could be both), and turn the value of isPrimarySchool or isSecondarySchool to true, or both if it's the case.

The method that I found to resolve this, is this one:

this.levels$.subscribe(levels =>
      levels.forEach(level => {
        if (level.name.toLowerCase().includes('primary') {
          this.isPrimarySchool = true
        }
        if (level.name.toLowerCase().includes('secondary')) {
          this.isSecondarySchool = true
        }
      })
    )

Is there a better way to resolve the two 'if' parts, using lodash or normal javascript?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

this.levels$.subscribe(levels =>{
this.isPrimarySchool =levels.some(level => level.name.toLowerCase().includes('primary'));
this.isSecondarySchool = levels.some(level => level.name.toLowerCase().includes('secondary'));
    })
about 4 years ago · Juan Pablo Isaza Denunciar

0

You could use If/Else instead of 2 Ifs, and use a 3rd else.

Remember that using If/elsif/else will be less costly than adding 2 If's.

Or, you could ternary operators but that's most likely not a better approach.

about 4 years ago · Juan Pablo Isaza 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