Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.08.2010, 00:03
parovozeg вне форума Посмотреть профиль Отправить личное сообщение для parovozeg Найти все сообщения от parovozeg
  № 1  
Ответить с цитированием
parovozeg
 
Аватар для parovozeg

Регистрация: Aug 2010
Сообщений: 28
По умолчанию Сравнение двух массивов произвольной длины

Добрый вечер всем!
Сижу никак не могу решить проблему со сравнением 2-х массивов.Задача такая: имеется 2 массива произвольной длины с датами (даты записаны в формате 20100829), которые надо сравнить (каждый элемент первого массива с каждым элементом второго) и при совпадении допустим выдать сообщение. На данный момент имеется следующая функция:
Код AS1/AS2:
function compare(){
for (i=0; i<=Math.max(date_arr.length,thenumbers1.length); i++) {
if (date_arr[i]=thenumbers1[i]) {
		status_txt.text="Есть совпадение";
		break;
		}
	}
 
}
compare();
Но при попытке выполнения, все виснет. Хотелось бы узнать каким именно образом правильно реализовать эту задачу.Я только начинаю, поэтому пока даже с такими задачами мне справиться проблематично.

Старый 23.08.2010, 00:25
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Оператор сравнение — это ==, а у вас "присвоить" в условии. И длину для условия в цикле for правильно вычислять до этого самого цикла, иначе одно и тоже значение у вас при каждой итерации будет вычисляться. И почему вы максимальную длину берете, а не минимальную?

Старый 23.08.2010, 00:51
parovozeg вне форума Посмотреть профиль Отправить личное сообщение для parovozeg Найти все сообщения от parovozeg
  № 3  
Ответить с цитированием
parovozeg
 
Аватар для parovozeg

Регистрация: Aug 2010
Сообщений: 28
Да,действительно.Спасибо.Но разве если поставить минимальную длину,не будет ли сравнение проходить до элемента второго массива с индексом равным длине первого массива(в случае если первый короче второго)?

Старый 23.08.2010, 00:54
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Но разве если поставить минимальную длину,не будет ли сравнение проходить до элемента второго массива с индексом равным длине первого массива(в случае если первый короче второго)?
Будет. А что вы с чем далее собираетесь сравнивать, если элементов в одном из массивов уже не будет?

Старый 23.08.2010, 00:58
parovozeg вне форума Посмотреть профиль Отправить личное сообщение для parovozeg Найти все сообщения от parovozeg
  № 5  
Ответить с цитированием
parovozeg
 
Аватар для parovozeg

Регистрация: Aug 2010
Сообщений: 28
Мне надо сравнить первое занчение массива date_arr со всеми значениями thenumbers1,потом второе,и так далее на предмет совпадения.Надо прогнать все значения date_arr

Старый 23.08.2010, 01:06
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Код AS1/AS2:
function compare(array1:Array, array2:Array)
{
	var iLength:Number = array1.length;
	var jLength:Number = array2.length;
	for (var i:Number = 0; i < iLength; i++)
	{
		var a:Number = array1[i];
		for (var j:Number = 0; j < jLength; j++)
		{
			var b:Number = array2[j];
			if (a == b)
			{
				trace("совпадение");
			}
		}
	}
}

Старый 23.08.2010, 01:57
parovozeg вне форума Посмотреть профиль Отправить личное сообщение для parovozeg Найти все сообщения от parovozeg
  № 7  
Ответить с цитированием
parovozeg
 
Аватар для parovozeg

Регистрация: Aug 2010
Сообщений: 28
По какой-то причине отказывается у меня работать,хотя по сути должно.Буду разбираться.

Добавлено через 1 час 7 минут
Да все отлично.У меня была ошибка.Большое спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
двух , массивов , Сравнение

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:00.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.