JS No more confusion — Splice vs Slice

Photo by Mihai Surdu on Unsplash

JS No more confusion — Splice vs Slice

·

2 min read

Table of contents

No heading

No headings in the article.

They were built for different purposes but they look same in several scenarios. I will clear confusion first instead of dragging it to the end of the article.

Tip 1: Look at their meanings

Splice: join or connect (a rope or ropes) by interweaving the strands at the ends.

Slice: cut (something, especially food) into slices.

Ok. First I should thank Google for their meanings. Thank you, Google. 😃

Hope you got cleared to some extent.

Tip 2: Not a very intuitive tip but it is worth clearing your confusion a little more. Splice — text length is greater than the slice. Based on which remember, the splice can take more params when compared to slice. See the declaration here:

arr.splice(start, deleteCount, item1, item2, ..., itemN);

arr.slice(start, end);

Tip 3: It's a technical tip here. Splice mutates original array whereas slice won’t.

Just remember, if someone asks bread slice what would you do.

Don’t need to remember every tip. Just remember one that caught your attention.

➡️ Also, if you have remembered in another way. Please do comment.

Now, tech stuff. What do they really do?

Splice first:

It is an array method that works only on JS arrays. It removes, replaces, and/or adds new elements in the array.

mutates original array.

splice(start, deleteCount, item1, item2, ..., itemN);

start — where to start changing the array.

deleteCount— no.of elements to remove from the start and is optional.

item1, item2 and so on — to add elements to the array after the start.

splice returns removed items in an array if none then returns an empty array.

➡️ I hope, the above examples covered all scenarios. If you find any more interesting scenarios, please comment. I am very much happy to update the article with your suggestion any time.

Slice now

Slices the array and returns a shallow copy.

Doesn’t mutate (alter) the original array

slice(start, end); - slice from start (including) to end (excluding) and accepts negative values.

Similar to slice in Array, there is a slice in String as well. Which also acts in the same manner but works on strings.

Thank you. 😊