Tengo un problema que me está volviendo loco.
Necesito 2 matrices, una para manejar y otra para usar como referencia. uno da el número y la segunda posición de búsqueda en la matriz.
Esta es la muestra de mi código:
var var1 = [37, 82, 4, 67, 23, 15]; var var2 = []; function avaliador(a){ var2 = var1; var2.sort(function(a, b) { return a - b; }); console.log(var1); console.log(var2); //... function continues }Mi objetivo es tener:
console.log(var1); // [37, 82, 4, 67, 23, 15]; console.log(var2); // [4, 15, 23, 37, 67, 82];Y esto es lo que obtuve:
console.log(var1); // [4, 15, 23, 37, 67, 82]; console.log(var2); // [4, 15, 23, 37, 67, 82];¿Me falta algo en mi lógica?
var2 es una referencia a var1 ; son la misma matriz.
Debe clonar var1 al asignar a var2 . Esto se puede hacer con slice :
var1 = [37, 82, 4, 67, 23, 15]; function avaliador(a){ var2 = var1.slice(); var2.sort(function(a, b) { return a - b; }); console.log(var1); console.log(var2); //... function continues } avaliador()