Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
splice vs filter (delete from array)
Comparison of "splice" and "filter" methods for removing an element from an array.
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15
Browser:
Safari 18
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
findIndex, splice
348938.2 Ops/sec
filter
180772.8 Ops/sec
indexOf, splice
609762.2 Ops/sec
indexOf, splice, check
539156.6 Ops/sec
for, splice
292076.8 Ops/sec
Script Preparation code:
var arr = [] for (i = 0; i < 100; i++) { arr.push({}) } var item = arr[arr.length / 2]
Tests:
findIndex, splice
const newArr = Object.create(arr) newArr.splice( newArr.findIndex(i => i === item), 1)
filter
const newArr = Object.create(arr) newArr.filter(i => i !== item)
indexOf, splice
const newArr = Object.create(arr) newArr.splice( newArr.indexOf(item), 1)
indexOf, splice, check
const newArr = Object.create(arr) const index = newArr.indexOf(item) if (index !== -1) { newArr.splice(index, 1) }
for, splice
const newArr = Object.create(arr) for (i = 0; i < newArr.length; i++) { if (newArr[i] === item) { newArr.splice(i, 1) break } }