тесты не совсем актуальные
var arr = Array(100000).fill(1);
var resA = [];
var resB = [];
var resC = [];
function testSplice(){
return arr.splice(0, 1);
}
function testSpliceEnd(){
return arr.splice(arr.length - 1);
}
function testSpliceX(){
var tmp = arr.slice(arr.length - 1);
arr.length -= 1;
return tmp;
}
console.time('spliceX');
for (var i=0; i < 50000; i++){
resC.push(testSpliceX());
}
console.timeEnd('spliceX');
arr = Array(100000).fill(1);
console.time('splice');
for (var i=0; i < 50000; i++){
resA.push(testSplice());
}
console.timeEnd('splice');
arr = Array(100000).fill(1);
console.time('spliceEnd');
for (var i=0; i < 50000; i++){
resB.push(testSpliceEnd());
}
console.timeEnd('spliceEnd');
console.log(resA.length, resB.length, resC.length);
но они четко показывают, что лучше с конца массив срезать