![]() |
as1, сравнить массивы
old_data = ["a", "b", "g"];
new_data=["b", "c", "f", "k"]; помогите, пожалуйста, получить массивы: get_element = ["c", "f", "k"]; lost_element = ["b", "g"]; |
А логика какая?
|
сравнив старый и новый массив нужно получить элементы которых нет в old_data и соответственно, которых нет в new_data
|
видимо
old_data = ["a", "b", "g"]; new_data=["b", "c", "f", "k"]; и get_element = ["c", "f", "k"]; lost_element = ["a", "g"]; ... |
это дано:
old_data = ["a", "b", "g"]; new_data=["b", "c", "f", "k"]; а это ответ: get_element = ["c", "f", "k"]; lost_element = ["a", "g"]; и нужно решение. понятно? |
в общем уже сам смастерил...
Код:
old_data = ["g", "a", "e", "d"]; |
только не понятен смысл:
lost_data = old_data; get_data = new_data; в данном случаи ты создаешь не новые массивы, а указатели на массивы. и производя действия с lost_data, ты делаешь то же самое и в old_data |
lost_data = old_data.concat();
get_data = new_data.concat(); |
Да нет, ты не прав. Ты создаешь массив с одним элементом который есть String. Вариант KidsKilla то что нужно.
|
iNils, вариант KidsKilla тоже вызывает аборт скриптов :(
|
Код:
var a = [1,2,3,4]; |
KidsKilla, прекрасно! А почему в моей конструкции не работает?
было бы мило с вашей стороны растолковать мне. |
Цитата:
по сути я скопировал твой же скрипт =) |
кстати, этот вариант будет работать с глюками. нужен другой...
|
old_data = ["a", "b", "c", "d"];
new_data = ["c", "d", "e"]; lost_data = String (old_data).split (","); get_data = String (new_data).split (","); for (i1 = 0; i1 < lost_data.length; i1++) { for (i2 = 0; i2 < get_data.length; i2++) { if (lost_data[i1] == get_data[i2]) { lost_data.splice (i1, 1); get_data.splice (i2, 1); i1--; break; } } } trace (old_data); trace (new_data); trace (lost_data); trace (get_data); |
Код:
function compare(a,b){var result = compare([1, 1, 1, 1, 2, 3, 4, 4, 4, 4], [1, 2, 3, 5, 6]); trace("lost: "+result.lost); trace("added: "+result.added); |
| Часовой пояс GMT +4, время: 08:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.