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

416
Vistas
¿Cómo escribir funciones cuando el tipo de valores es diferente?

Tengo un problema con hacer que mi función sea más inteligente. Logro buenos resultados, pero pienso en la otra solución.

Puedo tomar boolean u object como parámetro. Cuando el parámetro es el object , me gustaría mantenerlo como ahora. Cuando el parámetro es un valor boolean , me gustaría crear un objeto, donde las claves se toman de otra variable (menos importante) y los valores son este boolean .

Mi solución asume

  • agregando un objeto de elementos vacíos al principio
  • leyendo qué es un tipo de valor y configurando elementos de acuerdo con las condiciones
  • tomar elementos y convertirlos en una matriz
  • guardando la matriz en el estado

¿Eso esta bien?

revisa mi codigo

 const onAddAll = value => { let items = {} if (typeof value === 'boolean') { terms.forEach(term => items[ term ] = value) } if (typeof value === 'object') { items = value } const checked = Object.keys(items).filter(k => items[ k ]) setChecked(checked) }

Imo, no necesitaría la segunda condición y la haría más inteligente, pero no tengo idea de cómo. ¡Por favor ayuda!

lo uso aquí

 <Checkbox items={getItems()} onChange={onAddAll} > <label className="sr-only"> {i18n.t('DROPDOWN.SELECT_ALL')} </label> </Checkbox>

y aquí

 <Dropdown> {[ 'all', 'none' ].map((key, i) => ( <li key={key} className="dropdown__item"> <div className="dropdown__link" onClick={onAddAll.bind(this, !i)}> {i18n.t(`DROPDOWN.${key.toUpperCase()}`)} </div> </li> ))} </Dropdown>
about 4 years ago · Juan Pablo Isaza
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