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

137
Views
creando una matriz de objetos basada en un número dinámico

Necesito crear una matriz basada en el número que es mi límite. Así que a continuación está mi entrada y esta es la salida esperada que estoy buscando

Aporte

 3

Rendimiento esperado

 [{value: 3, label: 3}, {value: 2, label: 2}, {value: 1, label: 1}, {value: 0, label: 0}]

Intenté esto

 Array(3).map((_, i) => ({value: i, label: i }))

Pero esto no funcionó, cualquier ayuda es apreciada.

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

0

Esta puede ser una posible solución para lograr el objetivo deseado.

Fragmento de código

 const n = parseInt(prompt('Enter value for n: ').toString()) ?? 3; console.log( [...Array(n+1)] .map( (x, i) => ({ value: ni, label: ni }) ) );

Explicación

  • Crear una matriz de n + 1 elementos
  • Iterar sobre la matriz y mantener el índice como i
  • Para cada elemento, .map() un objeto con value y label de accesorios
  • Para obtener el orden de clasificación correcto, use n - i como el valor para ambos accesorios
about 4 years ago · Juan Pablo Isaza Report

0

Aquí hay una forma en que puede lograr lo que quiere, usando un for boucle:

 let input = 3; const result=[] for(let i = input; i>=0; i--){ result.push({value:i, label:i}) } console.log( result)
Una solución más corta:
 let input =3 console.log(Array.from(Array(input+1)).map((_, i) => ({value: i, label: i})).sort((v1, v2)=>v2.value-v1.value))

about 4 years ago · Juan Pablo Isaza Report

0

Necesitas usar Array.from() así:

 Array.from(Array(3)).map((_, i) => ({value: i, label: i}))

Tenga en cuenta que esto se ejecutará de 0 a 2, no de 0 a 3 según su salida esperada, ya que la longitud de la matriz es 3. La forma más fácil de obtener la salida que espera sería convertirla en una función y agregar 1 a la número proporcionado a la función, es decir

 const generateArray = number => Array.from(Array(number + 1)).map((_, i) => ({value: i, label: i})) generateArray(3) // [{value: 0, label: 0}, {value: 1, label: 1}, {value: 2, label: 2}, {value: 3, label: 3}]
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!