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

145
Vistas
JavaScript: ¿cómo asigno dinámicamente un nuevo par de valores clave a un objeto, utilizando la notación literal de objeto y corchetes, la sintaxis extendida en una sola línea?

Quiero especificar dinámicamente valores negativos como se ve en esta pregunta exacta.

¿Reglas para claves literales de objetos de JavaScript sin comillas?

También quiero lograr esto usando algún método de notación de corchetes dinámicos, usando una cadena equivalente a un resto negativo (operación de módulo).

bucketObj[clave] informes indefinidos, ya que no he preconfigurado una clave para almacenar un valor correspondiente. ¿Cómo configuro dinámicamente una clave de un objeto en notación de paréntesis, notación de puntos o ambas?

 function toDigitBuckets(array, radix) { let bucket = JSON.parse(JSON.stringify([...Array(radix).fill([])])); let bucketObj = Object.assign(bucket); array.forEach(val => { let key = String.toString(val % 10); bucketObj[key].push(val) }); return bucket; } let array = [-7, -49, 84, 39, -31, 95, 7, -8, -13, -32, 93, 40, -81, -30, -57, -57, 49, 66, -64, 42, 35, 29, -57, 41, 93, 34, -45, -15, 51, 16, 97, -88, 52, -69, 56, -16, -91, 51, 10, -21, 80, 78, -5, 18, -20, -98, 72, -94, 11, -83, -31, 13, -21, 39, -47, 8, -98, 95, 52, -18, 77, -11, -38, -46, -98, 48, -45, -4, 76, -32, -81, 67, -82, 9, -60, -20, 0, 33, -12, 77, 65, 45, -22, 99, -47, -83, -81, 10, -99, 16, 23, 5, -57, 89, -62, 9, -16, 79, 5, -2]; let radix = 10; console.log(JSON.stringify(toDigitBuckets(array, radix)));

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

0

Puede usar Array#reduce con un objeto como acumulador. Cada vez que se encuentra una nueva clave, primero establezca el valor de esa propiedad para que sea una matriz vacía.

 function toDigitBuckets(array, radix) { return array.reduce((acc, curr) => ((acc[curr % radix] ??= []).push(curr), acc), {}); } let array = [-7, -49, 84, 39, -31, 95, 7, -8, -13, -32, 93, 40, -81, -30, -57, -57, 49, 66, -64, 42, 35, 29, -57, 41, 93, 34, -45, -15, 51, 16, 97, -88, 52, -69, 56, -16, -91, 51, 10, -21, 80, 78, -5, 18, -20, -98, 72, -94, 11, -83, -31, 13, -21, 39, -47, 8, -98, 95, 52, -18, 77, -11, -38, -46, -98, 48, -45, -4, 76, -32, -81, 67, -82, 9, -60, -20, 0, 33, -12, 77, 65, 45, -22, 99, -47, -83, -81, 10, -99, 16, 23, 5, -57, 89, -62, 9, -16, 79, 5, -2]; let radix = 10; console.log(toDigitBuckets(array, radix));
 .as-console-wrapper{max-height:100%!important;top:0}

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