cyber, консоль закрой когда тесты делаешь)
а еще у меня реплейсов нет, подразумевается что ВСЕ реплейсы) ну для ui это сделать дешево получается, очень дешево.
вот моя функция, работает ядерно быстро
function compare(oArr, arr) {
var nArr = arr.slice();
var insert = []
var remove = []
for (var i = 0, index; i < oArr.length; i++) {
index = nArr.indexOf(oArr[i]);
if (index < 0) remove.push(i);
else nArr[index] = void 0;
}
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);
}
return {
insert: insert,
remove: remove
}
}