Показать сообщение отдельно
Старый 18.07.2013, 23:39
trashcoder вне форума Посмотреть профиль Отправить личное сообщение для trashcoder Найти все сообщения от trashcoder
  № 1  
Ответить с цитированием
trashcoder

Регистрация: Jul 2012
Сообщений: 10
Записей в блоге: 1
По умолчанию Привести один массив к другому

Есть два массива (вектора), с одним работаем, другой служит как образец. Все элементы в каждом массиве могут встречаться только один раз. Необходимо "рабочий" массив сделать точно таким же, как образцовый, т.е. поменять местами некоторые элементы, некоторые добавить, некоторые удалить. На добавление/удаление при этом вызвать коллбек.
Сначала все удалить, потом по порядку добавить, ума много не надо. Но вот как реализовать все это красиво и в минимальное число проходов?
Для примера:
Код AS3:
const source:Array = [1, 9, 4, 3, 2, 100];
const target:Array = [4, 9, 2, 3, 1, 0];
syncTarget(source); // target = [1, 9, 4, 3, 2, 100], вызов onDelete(0), onAdd(100)