Hatena::ブログ(Diary)

わからん

2011.07.24

[] 配列のコピーは引数なしの concat() か slice() で行う

配列のコピーは引数なしの concat() か slice() で行なう。slice() は、Array.prototype.slice.call(arguments) や Array.slice().sort() といったイディオムで知っていた。concat() でも同じ理屈でコピーできることを、書籍「ハイパフォーマンスJavaScript」のサンプルコードで知ったので、Web 日記に投稿。

var a1 = ["a", "b", "c"],
    a2 = a1.concat();

a1 = "hoge";
console.log(a1); //=> hoge
console.log(a2); //=> ["a", "b", "c"]

var a3 = ["d", "e", "f"],
    a4 = a3.slice();

a3 = "fuga";
console.log(a3); //=> fuga
console.log(a4); //=> ["d", "e", "f"]

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

Google