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

167
Vistas
Defina una matriz solo una vez y cámbiela sin definirla nuevamente en JavaScript

Quiero definir una matriz en una línea del programa, por ejemplo, de la siguiente manera:

 var a = [2,5]; //In the next steps, I want to increase the array elements as follows: a[0] += 2; a[1] += 2; //And I want the array to increase intermittently at the output of the program, as follows: a = [4,7] a = [6,9] a = [8,11] //....

Pero en realidad esto no sucede porque en la primera línea del programa, la matriz se define una y otra vez.

Y la salida siempre es la siguiente: a = [4,7];

¿Hay alguna manera de inicializar a matriz como [2,5] solo una vez?

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

0

Hay muchas maneras de hacer esto.

  • Esta es una forma muy sencilla si desea aumentarlo un número fijo de veces:
 let a = [2,5]; for (let i=0;i<5;i++) { a=a.map(element=>element+2); console.log(a); }
  • Usando una función/cierre anidado como se muestra en la respuesta de Lonnie Best

  • O también puede usar una función de generador:

 function * arrayIncreaser(initialArray, num) { let a = initialArray; while (true) { a = a.map(element=>element+num) yield a; } } const increaser = arrayIncreaser([2,5],2) console.log(increaser.next().value); console.log(increaser.next().value); console.log(increaser.next().value);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Aquí, uso un cierre . La matriz se crea una vez y se modifica cada vez que llama al increase() :

 function createIncreaseFunction() { const a = [2,5]; function increase() { a[0] += 2; a[1] += 2; return a; } return increase; } let increase = createIncreaseFunction(); console.log(increase()); // [4,7] console.log(increase()); // [6,9] console.log(increase()); // [8,11] // increase() modifies the values in the array, // but the same array is returned each time: console.log(increase() === increase()); // true

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