Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #71 (permalink)  
Старый 09.12.2013, 17:50
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от Maxmaxmaximus4
 
Регистрация: 08.12.2013
Сообщений: 142

сделайте кто нибудь чтобы оно порядок учитывало а то я мозг сломал)

cyber, чувак, выручай) ты придумал эту кашу, придумай как сделать чтобы она учитывала порядок и

12345 корректно превращалось в 54321, пожааалуйста ну пожаалуйста)!
Ответить с цитированием
  #72 (permalink)  
Старый 09.12.2013, 17:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от cyber
Если элемента нет во втором массиве, но есть в первом то его нужно удалить.
можно написать цикл пока есть в oldArray элемент с индексом newArray.length его удалить - но можно проще просто изменить длину массива
Ответить с цитированием
  #73 (permalink)  
Старый 09.12.2013, 17:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от Maxmaxmaximus4
порядок учитывало
или мой вариант это делает или обьясни про порядок
Ответить с цитированием
  #74 (permalink)  
Старый 09.12.2013, 17:53
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Maxmaxmaximus4, ок, как только закончу с курсовой , посмотрю что можно придумать)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #75 (permalink)  
Старый 09.12.2013, 18:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108


var changes = {
       insert : [[0, 5], [1, 4], [2, 3], [3, 2]],
       length : 5,
       relocation :	[]
   }
function conversion(b, c) {
    for (var a = 0; a < c.relocation.length; a++) {
        var d = c.relocation[a];
        b = b.splice(d[0], d[1]).concat(b)
    }
    for (a = 0; a < c.insert.length; a++) d = c.insert[a], b.splice(d[0], 0, d[1]);
    b.length = c.length;
    return b
};
alert( conversion([1, 2, 3, 4, 5],changes));
alert( conversion([1, 2, 3, 4, 5, 6, 7, 8, 20, 30],changes))
Ответить с цитированием
  #76 (permalink)  
Старый 09.12.2013, 18:10
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Рони
Я подставил значения
var oldArray = [3,3,5,6,7,8,9,0,2,9,0,6,0];
var newArray = [3,3,9,0,3,8,9,0,5,6,7,2,8,9,0,6,0];

У тебя 12 операций уходит, хотя достаточно девяти.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #77 (permalink)  
Старый 09.12.2013, 18:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

DjDiablo,
да скрипт не ставит найденные одинаковые цепочки сразу на свои места -- цепочки "доползают" до своего места по мере вставки недостающих элементов.
Ответить с цитированием
  #78 (permalink)  
Старый 09.12.2013, 18:36
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от рони
можно написать цикл пока есть в oldArray элемент с индексом newArray.length его удалить - но можно проще просто изменить длину массива
я конечно нечего не хочу сказать, но моя функция немного меньше операций предлагает, и из за твоей у меня пк подвисает на core i7))
http://learn.javascript.ru/play/feUHP
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 09.12.2013 в 18:42.
Ответить с цитированием
  #79 (permalink)  
Старый 09.12.2013, 18:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

DjDiablo,
3,3,5,6,7,8,9,0,2,9,0,6,0<br>
6,0,3,3,5,6,7,8,9,0,2,9,0<br>
8,9,0,6,0,3,3,5,6,7,2,9,0<br>
5,6,7,8,9,0,6,0,3,3,2,9,0<br>
8,9,0,5,6,7,6,0,3,3,2,9,0<br>
9,0,8,9,0,5,6,7,6,0,3,3,2<br>
3,3,9,0,8,9,0,5,6,7,6,0,2<br>
3,3,9,0,3,8,9,0,5,6,7,6,0,2<br>
3,3,9,0,3,8,9,0,5,6,7,2,6,0,2<br>
3,3,9,0,3,8,9,0,5,6,7,2,8,6,0,2<br>
3,3,9,0,3,8,9,0,5,6,7,2,8,9,6,0,2<br>
3,3,9,0,3,8,9,0,5,6,7,2,8,9,0,6,0,2<br>
Ответить с цитированием
  #80 (permalink)  
Старый 09.12.2013, 18:51
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от Maxmaxmaximus4
 
Регистрация: 08.12.2013
Сообщений: 142

ш...што вы делаете наркоманы О_О

я уже кстати почти допилил рабочую функцию =) при условии что реплейс приоритетнее, удаления и вставки.
то есть 10 реплейсов, приоритетнее 10 удалений и вставок. а это как раз то что нужно для ui, потому что перерисовать то что есть в уже готовом элементе мне не составит труда

$scope[itemName] = arr[index];
$scope.$digest(); // зарендерить элемент

а вот удалить и создать новый это то же самое что и тут тока новый парсинг дом этого элемента)

Последний раз редактировалось Maxmaxmaximus4, 09.12.2013 в 18:53.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно найти разрешение рабочей области браузера? Влад Общие вопросы Javascript 3 20.07.2009 10:18
Как найти конец плоского файла Don_001 Общие вопросы Javascript 1 07.07.2009 12:47
Как можно изменить расстояние между панелями overlay и filmstrip в фотогалереи? Honey jQuery 0 29.06.2009 10:16
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12
Как найти путь к файлу для модификации? JuliaMilan Firefox/Mozilla 0 31.03.2009 14:06