PDA

Просмотр полной версии : Вопрос про проверку на вхождение переменной в массив


FlashMann
12.11.2005, 11:35
ПРивет!

Вопрос вот в чем.

Вообщем есть значение переменной(меняется кадый раз заново в определенном интервале), есть массив (сначало пустой), нужно проверить на вхождение данной переменной в этот массив, если значение такое там имеется то действие1, иначе записываем значение этой переменной в данный массив и действие1. Соответственно действие данное должно повторятся в цикле столько раз, сколько длина данного массива, т.е какдый раз на 1 больше до определенного значения.

Подскажите плиз конструкцию данного алгоритма на AS..

Заранее спасибо.

iNils
12.11.2005, 13:27
arrayM = [];
this.onEnterFrame = function () {
var n = Math.floor (Math.random () * 10);
if (arrayM[n]) {
trace ("число " + n + " есть в массиве");
} else {
trace ("числа " + n + " в массиве нет, добавляем ");
arrayM[n] = true;
}
};

FlashMann
12.11.2005, 14:15
Спасибо iNils..

Счас попробую приспособить..

Штрек
12.11.2005, 16:15
arrayM = [];
this.onEnterFrame = function () {
var n = Math.floor (Math.random () * 10);
if (arrayM[n]) {
trace ("число " + n + " есть в массиве");
} else {
trace ("числа " + n + " в массиве нет, добавляем ");
arrayM[n] = true;
}
};
Как бы помягче сказануть????
Думаем, пишем -
var perem;
arrayM = [];
trace(arrayM.length);
this.onEnterFrame = function() {
if (arrayM == []) {
trace("числа "+perem+" в массиве нет, добавляем ");
arrayM.push(perem);
trace("теперь число "+perem+" есть в массиве");
} else {
for (var i = 0; i<=arrayM.length-1; i++) {
if (arrayM[i] == perem) {
trace("число "+perem+" есть в массиве");
} else {
trace("числа "+perem+" в массиве нет, добавляем ");
arrayM.push(perem);
trace("теперь число "+perem+" есть в массиве");
}
}
}
};

iNils
12.11.2005, 16:23
И?...

Штрек
12.11.2005, 16:40
И?...
Ты сам читал, что написал в коде?

iNils
12.11.2005, 16:46
Ты сам читал, что написал в коде?
Прикинь, читал. Даже запустил. И оно, подумать только, работало.

nuran
12.11.2005, 16:49
arrayM = [];
this.onEnterFrame = function () {
var n = Math.floor (Math.random () * 10);
if (arrayM[n]) {
trace ("число " + n + " есть в массиве");
} else {
trace ("числа " + n + " в массиве нет, добавляем ");
arrayM[n] = true;
}
};
Мда .... =)

Штрек
12.11.2005, 17:00
Прикинь, читал. Даже запустил. И оно, подумать только, работало.
Работало это как?
Деньги печатало или звёзды на небе считало? :p

iNils
12.11.2005, 17:09
Так понятнее?
arrayM = [];
this.onEnterFrame = function () {
var n = Math.floor (Math.random () * 10);
if (arrayM[n]) {
trace ("выполняем действие 1");
} else {
trace ("выполняем действие 2, тут что хотите то и делайте, может по длине массива проходить, по квадрату или по треугольнику");
arrayM[n] = true;
}
};

Штрек
12.11.2005, 17:15
Так понятнее?
arrayM = [];
this.onEnterFrame = function () {
var n = Math.floor (Math.random () * 10);
if (arrayM[n]) {
trace ("выполняем действие 1");
} else {
trace ("выполняем действие 2, тут что хотите то и делайте, может по длине массива проходить, по квадрату или по треугольнику");
arrayM[n] = true;
}
};
Нуран сегодня добрый, иначе он бы вместо - М-дааа
написал бы - полный бред...
Я же напишу -
код никакой.....

nuran
12.11.2005, 17:33
var na:Array = new Array ();
action = function ()
{
};
updateArray = function (v)
{
for (var i = 0; i < na.length; i++)
{
if (na[i] == v)
{
action ();
return;
}
}
a.push (v);
action ();
return;
};

nuran
12.11.2005, 17:34
Для добавления надо юзать так:

updateArray ("Новый элемент");

FlashMann
12.11.2005, 20:15
Штрек, nuran..
спасибо за алгоритмы, будем реализовывать.. :)