包含对另一个数组的引用的Javascript子数组

包含对另一个数组的引用的Javascript子数组,javascript,Javascript,如何实现以下功能 我有一个数组: 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。问题在于,基本值字符串、数字、布尔值、未定义值和null按值工作,并且它们是不可变的 如果使用对象作为数组元素,则可以获得所需的行为: var a = [{value: 1}, {value:2}, {value:3}, {n

如何实现以下功能

我有一个数组:

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。

问题在于,基本值字符串、数字、布尔值、未定义值和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"
问题是,基本值字符串、数字、布尔值、未定义值和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"

好把戏。。。希望它能解决我的问题。你知道这会如何影响整体性能吗?@markovuksanovic,我认为你不会有任何性能问题,b只是一个引用数组,每个数组元素的值只是指向原始对象的引用。只要小心不要创建循环引用,这将导致对象永远不会被垃圾收集@丹尼尔,谢谢!好把戏。。。希望它能解决我的问题。你知道这会如何影响整体性能吗?@markovuksanovic,我认为你不会有任何性能问题,b只是一个引用数组,每个数组元素的值只是指向原始对象的引用。只要小心不要创建循环引用,这将导致对象永远不会被垃圾收集@丹尼尔,谢谢!