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

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

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 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!