如何实现以下功能?
我有一个数组:
a = [1, 2, 3, 4, 5]
b = [a[1], a[2], a[3]] //This array should be some kind of "array of references"
阵列b中的任何变化都应该应用于数组a。
答案 0 :(得分:7)
问题是原始值(String
,Number
,Boolean
,undefined
和null
),工作方式价值,它们是不可变的。
如果使用对象作为数组元素,则可以获得所需的行为:
var a = [{value: 1}, {value:2}, {value:3}, {num:4}];
var b = [a[1], a[2], a[3]];
alert(a[1].value); // 2
b[0].value = "foo";
alert(a[1].value); // "foo"