配列を渡す時に参照になる

arrayA = arrayB

ってやると、配列が参照になるので、arrayAを変更するとarrayBも変更されてしまって困った。

JavaScriptでの配列のコピー

に書いてあったように配列の中の配列とかあると、結局コピーしても参照しちゃうという面倒な仕様になっているようで、困った。

一番下のを使うと回避ができた。

Object.deep_clone = function(obj){ return (typeof uneval == "function") ? eval(uneval(obj)) : eval(Object.toJSON(obj)); }

で、使い方は、

arrayA = Object.deep_clone(arrayB)

ってやる方法。JSONに変換するのがおつだなと思うのだが、これでばっちり参照も回避できた。

(追記)

と思ってたら、androidで出力されない。。

Next / Prev

前の記事:

次の記事:

Same Category

Page top↑