Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Compare Array.splice() and Array.copyWithin() to move item within an array
(version: 1)
Comparing performance of:
Move element by Array.splice() vs Move element by Array.copyWithin()
Created:
one year ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<!--your preparation HTML code goes here-->
Script Preparation code:
var data = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99] function moveItemBySplice(from, to) { // remove `from` item and store it var f = data.splice(from, 1)[0]; // insert stored item into position `to` data.splice(to, 0, f); } function moveItemByCopyWithin(from, to) { const f = data[from]; if (to > from) { // copy items after `from` until `to` one index to the left data.copyWithin(from, from + 1, to + 1); } else { // copy items from `to` until before `from` one index to the right data.copyWithin(to + 1, to, from); } // insert stored item into position `to` data[to] = f; }
Tests:
Move element by Array.splice()
moveItemBySplice(3, 40); moveItemBySplice(50, 10); moveItemBySplice(45, 96); moveItemBySplice(7, 15);
Move element by Array.copyWithin()
moveItemByCopyWithin(3, 40); moveItemByCopyWithin(50, 10); moveItemByCopyWithin(45, 96); moveItemByCopyWithin(7, 15);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Move element by Array.splice()
Move element by Array.copyWithin()
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
2 months ago
)
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0
Browser/OS:
Firefox 148 on Windows
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Move element by Array.splice()
1850118.6 Ops/sec
Move element by Array.copyWithin()
3145411.5 Ops/sec
Related benchmarks:
Remove by splice vs copyWithin
Remove item from array
Array slice vs for loop 2
spread v splice
splice vs length
splice vs length 2
Remove element from array splice vs copyWithin
Slice vs Splice vs Shift (100)
Slice vs For - 100 item
Comments
Confirm delete:
Do you really want to delete benchmark?