Показать сообщение отдельно
  #19 (permalink)  
Старый 17.09.2017, 22:36
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

тесты не совсем актуальные
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);

но они четко показывают, что лучше с конца массив срезать
Ответить с цитированием