Показать сообщение отдельно
  #22 (permalink)  
Старый 08.12.2013, 22:45
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Maxmaxmaximus4, так либо ты наркомана, либо я.
Array.prototype.compare = function(arr) {
    
    var search = arr.slice(),
        insert = [],
        remove = [];
    
    for(var i = 0, index; i < this.length; i++) {
        
        index = search.indexOf(this[i]);

		if(!~index) {
          
			remove.push(i);
            
            continue;
        }
        
        delete search[index];

	};
    
    search.forEach(function (elem, i) {
        if(elem)
          insert.push(i);     
    });
    
    return {
        remove: remove,
        insert: insert
    }
    
}

//console.log([1,2,3,4].compare([2,3,4,5, 34, 2 , 3434]));

console.log([3, 3, 3, 3, 3].compare([3, 3, 11, 3, 3]));

код вернет
insert: [2] // элемент с индексом 2 из нового массива нужно вставить
remove: [4] // элемент с индексом 4 из старого массива нужно удалить
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием