cyber, уже учитывает, блять не против изредка помогать в написании великой и ужасной ui? ты гениален!!!! я серьезно!! я блять чо тока не придумал чтобы это сделать, да, мое было бы оптимальнее и "правильнее" но млять, кому оно науй надо если и так РАБОТАКЕТ и так МАЛО КОДУ, при чем не факт что мое было бы быстрее так как там несколько проходов и прочего, моя возвращала дамп который потом надо было бы парсить и делать по нему что-то, а твоя ГЕНИАЛЬНАЯ функция ТУПО ВОЗВРАЩАЕТ ПОРЯДОК ДЕЙСТВИЙ КОТОРЫЕ НАДО СДЕЛАТЬ ЧТОБЫ ПОЛУЧИТЬ ИЗ ОДНОГО МАССИВА ДРУГОЙ)!!!!!
ЭТО ТО-ЧТО-НУЖНО!! Ты гениален! Правда!
вот кстати исправленная версия:
function compare(oArr, arr) {
var search = arr.slice();
var insert = [];
var remove = [];
for (var i = 0, index; i < oArr.length; i++) {
index = search.indexOf(oArr[i], i);
if (index < 0) remove.push(i);
else delete search[index];
}
for (var i = 0; i < search.length; i++) {
if (i in search) insert.push(i);
}
return {
remove: remove,
insert: insert
}
}