ахаха суууука, оно не схавало ((
var oldArray = [1, 2, 3, 4, 5]; var newArray = [5, 4, 3, 2, 1]; массивы после преобразования не равны и проблема именно не в преобразовании а в данных которые возвращает функция. Цитата:
а что если он сделал так arr[1000000] = 100; |
Maxmaxmaximus4, конечно не схавало, потому что ты изменил так что учитывается порядок и мне кажется оптимальнее менять на основе replace
|
cyber, слушай все мои изменения это то что я добавил i в indexOf()
когда я убираю результат тот же, когда я использую твою функцию результат тот же) Цитата:
в принципе есть идейка небольшая как replace так прокачать чтобы вначале он все свои дела делал, чтобы все что можно заменить им, заменялось им. |
Maxmaxmaximus4,
какие данные у тебя в массиве лежат ? дом объекты ? |
Цитата:
<script src='//mychamber.ru/build/ui.js'></script> <div controller="Ctrl"> Привет {name}, тебе {age} лет! </div> <script> function Ctrl() { name = 'Ашот' age = 15 } </script> А тут короче надо будет сделать чтобы элемент повторялся столько раз сколько элементов в массиве, и значения элементов массива засовывались в переменную которую мы придумаем, например val <div controller="Ctrl"> <div repeat="val in arr">{val}</div> </div> <script> function Ctrl() { arr = [1, 2, 3, 4] } </script> и вот этот вот див внутренний повторится столько раз, сколько ячеек в массиве, и в каждом {val} будет иметь разное значение, суть в том чтобы при изменении массива элементы отражали его состояние. можно удалять каждый раз все созданные элементы и создавать новые и перерисовывать, но я хочу отражать только изменения, а для этого надо их отслеживать. все просто =) |
cyber, блин, и если честно я вообще не понимаю как твой алгоритм работает, ну то есть понимать то понимаю, но не понимаю почему то должно работать и как "учитывать порядок"
|
Цитата:
Чото дикую хреновину максимус ты придумал :) Но в целом любопытно. Хотя поиск оптимального решения будет вероятно медленнее чем работа с dom. Вероятно нужно работать не с одним числом а с группами чисел (группы гораздо больше свидетельствуют о структуре чем отдельные числа). Так как последовательности чисел и групп можно объяснить по разному то мы получим дерево вариантов в котором нам придется искать кратчайший путь. |
С другой стороны Я не уверен что разные объяснения как либо отражаются на структуре. Ну к примеру две последовательности 567 и 567567 можно объяснить как добавлением 567 слева так и добавлением 567 справа, это равнозначные варианты и выбрать можно любой.
окей если так посмотреть 33 2 567 33 4 567 3 567 здесь нам все равно было ли во втором случае 567 добавлено в конец или в середину а вот здесь не все равно. 33 2 567 89 2 90 33 4 89 3 90 567 Вродебы 567 встречается и во втором случае. Но у нас так же встречаются и 89 x 90. если было добавлено 567 в конец то это три изменения а если 89 90 в середину это аж четыре. Вероятно 567 это добавленый элемент а не сохранившийся, так как добавление 567 потребует меньше трансформаций чем его сохранение. Ведь за сохранение трех чисел 567 мы вынуждены заплатить добавление аж 4х (89 x 90). а вот ситуация по интереснее. В отличии от предыдущего примеру выбирать нужно между множеством обьяснений 1) 33 567 890 2 90 60 33 90 3 890 567 2 890 60 совпали 567 890 (6 совпадений) 2) 33 567 890 2 90 60 33 90 3 890 567 2 890 60 совпали 90 2 90 (5 совпадений) 3) 33 567 890 2 90 60 33 90 3 890 567 2 890 60 совпали 890 2 90 (6 совпадений) 4) 33 567 890 2 90 60 33 90 3 890 567 2 890 60 совпали 90 90 (4 совпадения) 5) ..... еще какие то Гипотезы 1 и 3 требуют наименьшего числа изменений или можно сказать имеют наибольшее число совпадений между двумя массивами. Блядь, здесь как раз алгоритм Вагнера Фишера или алгоритм Хиршберга справляется :( http://habrahabr.ru/post/117063/ P.S. 33 60 игнорирую чтобы не отвлекали, а так конечно они тоже участвуют 567 это не пятьсот шисят семь, а 5,6,7. Все числа от 0 до 9 |
Цитата:
|
Цитата:
Цитата:
ntive-controller="true" заменится просто на controller='true', а controller="Ctrl" просто исчезнет из разметки. ну можно не native-, а nt-, не суть. Просто всегда бесило то что по какой-то неведомой причине люди тучу префиксов городят, по этому и начал писать свою либу, это одна из причин. Это куда логичнее чем каждый раз городить тучу префиксов и захламлять код. |
Часовой пояс GMT +3, время: 03:44. |