JSFiddle - React, Tailwind, and code Playground
HTML
<div id="filterResult"></div>
<div id="spliceResult"></div>
JavaScript
const array = [];
for (let i = 0; i < 10000; i++) {
array.push(i);
}
const valueToRemove = 5793;
const repeat = 100;
let arr, start, took;
start = performance.now();
for (let n = 0; n < repeat; n++) {
arr = [...array];
arr = arr.filter(el => el !== valueToRemove);
}
took = Math.round((performance.now() - start) * 1000) / 1000;
document.getElementById('filterResult').innerText = `фильтр: ${took} мс`;
start = performance.now();
for (let n = 0; n < repeat; n++) {
arr = [...array];
for( let i = 0, len = arr.length; i < len; i++){
if ( arr[i] === valueToRemove) {
arr.splice(i, 1); i--;
}
}
}
took = Math.round((performance.now() - start) * 1000) / 1000;
document.getElementById('spliceResult').innerText = `сплайс: ${took} мс`;