Why am I getting this output from this simple splice command?

I have a small issue with understanding why I'm getting this output.

var arr = ["a", "b", "c", "d", "e", "f"];
arr.splice(2,0,"1");
console.log(arr);  

var arr2 = ["a", "b", "c", "d", "e", "f"];
arr2 = arr2.splice(2,0,"2");
console.log(arr2);

ouput is:

[ 'a', 'b', '1', 'c', 'd', 'e', 'f' ]
[]  

Why is the second line of output not:

[ 'a', 'b', '2', 'c', 'd', 'e', 'f' ]  

Is it an issue of assignment or what?

Answers:

Answer

Reading about splice method. It returns

An array containing the removed elements. If only one element is removed, an array of one element is returned.

So by doing

arr2 = arr2.splice(2,0,"2");

you overwrite initial array arr with empty array [] returned by splice.

Answer

1 - The splice method Changes the content of an array

2 - The splice method returns the element removed - ** Not original Array **

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.