cyber, да мазафака, эти оптимизации хромовские не поймешь)
у меня кстати второй цикл вот такой, я исключаю лишние перемещения которые можно заменить реплейсами
for (var i = 0; i < nArr.length; i++) {
if (nArr[i] === void 0) continue;
var index = remove.indexOf(i);
if (index < 0) insert.push(i);
else remove.splice(index, 1);
}