1
如何實現以下功能?包含對另一個陣列的引用的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的任何變化應被應用於陣列的,以及。
如何實現以下功能?包含對另一個陣列的引用的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