When programming you sometimes need to watch out a bit.
Suppose that (in javascript) you have the following:
var a = [ 4, 5, 6 ];
Now, say you want, for whatever reason, to create a copy of that array and perform operations on the copy. For example, you have a deck of cards and are dealing cards to players, and want to both remember the initial deck, and have a copy of the deck where you’ve removed the cards you’ve dealt.
The obvious thought might be to do this:
var b = a; //Remove second element: b.splice(1,1); console.log (b, a);
Although the value of b might be obvious ([4, 6]), you will notice that a is also now [4, 6]. So obviously, this isn’t the way to go.
Instead, do this:
var b = a.slice(); //.slice copies a part of the array, with no parameters it will produce a copy of the whole thing. //this is the right way to copy arrays! //Remove second element: b.splice(1,1); console.log (b, a);
Although this may be obvious to some, it’s something that can slip your sight easily, and it had me break my code, so I thought it would be good to post about 🙂
Pay attention while coding, for things might not always do what you expect.