2008年の企業のJS面接の質問、役職はJavaScriptエンジニア(Googleへ)
インタビュアーは、配列のクローンを作成する方法を私に尋ねました。そのとき、js のオブジェクトにはクローン メソッドがありませんが、Java のオブジェクトにはクローン メソッドがあると考えました。
では、どうやって新しい配列を取得するのでしょうか?
当時私は次のように答えました。ループを使用して、ソース配列の要素を新しい配列に順番にプッシュします。これは最も単純な方法ですが、明らかに面接官が望んでいる答えではありません。
最後に教えてください: Array のスライス メソッドを使用します。例は次のとおりです。
次のようにコードをコピーします。
var ary = [1,2,3];//ソース配列
var ary2 = ary.slice(0);//新しい配列のクローンを作成します
コンソール.ログ(ary2);
/* ary2 を変更しても ary には影響せず、これらは参照ではなく実際に 2 つの配列であることを示します。
* 参照が 2 つある場合、どちらかの変更は同じ配列に対する操作となります
*/
ary2[0] = 10;
コンソール.ログ(ary2);
console.log(ary);