lt8 javascriptで配列をコピーする
TRANSCRIPT
JavaScriptで配列をコピーする LT#8 Leko
配列 ≒ オブジェクト
jsにおいて、配列もオブジェクト
JavaScriptとオブジェクト
ß オブジェクト、配列の代入 = 参照渡し
破壊的な動作 ß Array.reverse()
Þ 呼び出し元の配列も変更する
コピーする方法 ß あるにはある※ ß Array.slice(0), Array.concat()
※プリミティブのみ動作
プリミティブ = 数値, 文字列 etc...
(◞‸◟)oh…
JavaScriptパターン ß 浅いコピー
Þ 前述の方法
ß 深いコピー Þ extendDeep()
Ý そのプロパティがオブジェクト、配列だった場合プロパティのプロパティに対して検査とコピーを再帰的に行う
値がプリミティブになれば コピー渡しになる
|| そこまで辿る
extendDeep()
(´へεへ`*)
おまけ:配列判定
あからさまな設計ミス
色々対策はある
速度比較
OSX Moutain Lion Nodejs v0.8.17
isArray最速※
EcmaScript5環境のみ
=IE8以下は非対応\(^o^)/
おわり
Web EGG
宣伝:WEB EGG
http://leko.jp
\よろしければアクセスを!/