1

Not sure if what I want is possible, but

This works:

pointer = arr1 = ['a','b','c'];
arr1.splice(0, 1);
console.log(pointer); // ['b','c']

What I would like, but does not work:

pointer = arr1 = ['a','b','c'];
arr1 = ['e','f'];
console.log(pointer); // desired ['e','f']
console.log(pointer); // reality ['a','b','c']

Is there any way around this, other than constantly re-updating the pointer variable each time arr1 gets reassigned?

4

2 に答える 2

2

いいえ、JavaScript にはポインターがありません。唯一の方法は、配列をオブジェクトに入れてから、オブジェクトの配列を更新することです。その後、オブジェクトへのすべての参照が更新されます。

var pointer = arr1 = {array:['a','b','c']};
arr1.array = ['e','f'];

console.log(arr2.array);    // ['e','f']
console.log(pointer.array); // ['e','f']
于 2013-09-10T18:01:48.677 に答える
1

Javascript にはポインターがありません。

コメントで @ user2736012 によって与えられた提案は良い考えです。つまり、配列をオブジェクトに入れ、オブジェクトの配列を更新します。その後、オブジェクトへのすべての参照が更新されます。

于 2013-09-10T17:58:43.230 に答える