Avatar ·

Comment créer une copie d'un tableau en JavaScript, et non une référence à celui-ci ?

Bonjour à tous ! Je suis débutant en JavaScript et j'ai rencontré un problème que je n'arrive pas à résoudre. Quand j'essaie de copier un tableau, les modifications dans le nouveau tableau affectent l'original. Voici un exemple : ```javascript let original = [1, 2, 3]; let copy = original; copy.push(4); console.log(original); // [1, 2, 3, 4] — je ne veux pas que original change ! ``` Je comprends que `copy = original` ne crée pas une copie, mais une référence au même tableau. Mais comment faire pour que `copy` soit totalement indépendant ? J'ai essayé `copy = original.slice()`, et cela a fonctionné pour des nombres simples. Mais quand j'ai des tableaux imbriqués ou des objets, les modifications affectent toujours l'original : ```javascript let nested = [[1, 2], [3, 4]]; let copyNested = nested.slice(); copyNested[0].push(5); console.log(nested[0]); // [1, 2, 5] — encore modifié ! ``` Quel est le problème ? Comment faire une copie "profonde" pour que toute modification dans la copie n'affecte pas l'original ? De préférence avec des exemples pour différents cas : tableaux simples, tableaux d'objets, etc.