Questions d'entretien JS d'une entreprise en 2008, le poste est ingénieur javascript (allant vers Google)
L'intervieweur m'a demandé comment cloner un tableau. A ce moment-là, j'y ai pensé. L'Objet de js n'a pas de méthode de clonage, mais l'Objet de Java en a.
Alors, comment obtenir un nouveau tableau ?
J'ai répondu à l'époque : utilisez une boucle pour pousser les éléments du tableau source dans le nouveau tableau en séquence. Il s’agit de la méthode la plus simple, mais ce n’est évidemment pas la réponse souhaitée par l’intervieweur.
Enfin, dites-moi : utilisez la méthode slice de Array. Les exemples sont les suivants :
Copiez le code comme suit :
var ary = [1,2,3];//tableau source
var ary2 = ary.slice(0);//Cloner un nouveau tableau
console.log(ary2);
/* Changer ary2 n'affectera pas ary, indiquant qu'il s'agit bien de deux tableaux plutôt que de références.
* S'il y a deux références, changer l'une ou l'autre est une opération sur le même tableau
*/
ary2[0] = 10 ;
console.log(ary2);
console.log(ary);