En JavaScript, certaines méthodes font une copie de l'objet qui l'a invoqué alors que d'autres ne le font pas.Pourquoi certaines méthodes en JavaScript font-elles une copie de l'objet invoqué?
Par exemple:
var numbers = [1, 2, 3, 4, 5];
numbers.map(function(x) { return x + 1 });
console.log(numbers); // [1, 2, 3, 4, 5];
Il fait une copie des « numéros » que vous devez mettre à une autre variable.
Attendu que:
var numbers = [1, 2, 3, 4, 5];
numbers.reverse();
console.log(numbers); // [5, 4, 3, 2, 1];
Il modifie directement "les chiffres". Quelqu'un pourrait-il expliquer pourquoi?
Lisez la documentation pour chaque méthode – charlietfl
Certaines méthodes créent un nouveau tableau, d'autres modifient le tableau en place. C'est principalement fait de cette façon pour plus de commodité, généralement quand vous mappez quelque chose, vous obtenez un nouveau tableau, etc. – adeneo
Je ne sais pas pourquoi cette question attire des downvotes? –