при создании массива вы передаете переменные по значению, а не по ссылке на переменную.
var a = 1;
var b = 2;
var c = 3;
var test = [a, b, c];
console.log(test);
вы можете делать что хотите (вроде), но вам нужно использовать объекты.
var a = {
value: 1
};
var b = {
value: 2
};
var c = {
value: 3
};
var test = [a, b, c];
// test[0] refers to a
// test[1] refers to b
// test[2] refers to c
function updateNumbers() {
var i;
for (i = 0; i < test.length; i++) {
test[i].value = 777;
}
}
updateNumbers();
console.log(test); // this wont output like in your example
console.log(a.value);
console.log(b.value);
console.log(c.value);