包含对另一个阵列的引用的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的任何变化应被应用于阵列的,以及。
答
的问题是,原始值(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"
有趣的想法+1 – 2010-06-18 21:48:54
尼斯把戏...希望这本书能解决我的问题。任何想法如何影响整体表现? – markovuksanovic 2010-06-18 22:31:50
@markovuksanovic,我不认为你会有任何性能问题,'b'只是一个*引用数组*,每个数组元素的值只是指向原始对象的引用。只是要小心不要创建循环引用,这会导致对象永远不会被垃圾回收。 @Daniel,谢谢! – CMS 2010-06-18 22:37:31