Сообщение от cyber
|
У меня даже ИЕ forEach быстрей обрабатывает))
|
у меня разницы нет, но оставлю так потому что красивее:
function compare(oArr, arr) {
var nArr = arr.slice();
var insert = []
var remove = []
oArr.forEach(function(val, i) {
var index = nArr.indexOf(val);
if (index < 0) remove.push(i);
else nArr[index] = void 0;
});
nArr.forEach(function(val, i) {
if (val === void 0) return;
var index = remove.indexOf(i);
if (index < 0) insert.push(i);
else remove.splice(index, 1);
});
return {
insert: insert,
remove: remove
}
}