Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Подстановка элемента массива в интервале


Автор: s1lver 1.10.2015, 12:58
Доброго времени суток!

Подскажите, пожалуйста, как можно реализовать такую штуку:

Есть массив, значения которого, каждые 2 секунды, подставляются в функцию. Т.е должен идти перебор и если 1 значение уже было подставлено, то подставляется второе и т.д


Написал сбивчиво,  но я и сам не представляю как подробнее сформулировать задачу.

Автор: Angel666 1.10.2015, 23:07
Если я правильно понял тебе надо анализировать данные массива который был и который пришел можешь использовать Coocie сохраняя в нем предыдущий массив и при получение нового сравнивать его с ним, можна даже серелизацию в строку и просто сравнивать строку и если строки различаются значит изменился массив

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Podstanovka-elementa-massiva-v-intervale-id560d0427ae2015425e8b456d#findElement_E7045_560d9280ae2015446f1f5d00_0

Автор: Padonak 2.10.2015, 10:46
Трай зыс

Код

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Без повторов</title>
<script>
var arr=[1,2,3,4,5,6,7,8,9],o={},
    step=1,
    x;
/* добавляем флаг в каждый элемент */
for(var k=0; k < arr.length; k++){
arr[k]=[arr[k],false];
}

function _(id){return document.getElementById(id);}

function timer(){
var html='';
for(var i=0; i<arr.length; i++){
if(!arr[i][1]){
html='<h2>Проход '+step+'</h2>Значение массива <b>'+arr[i][0]+'</b> еще не было использовано!';
arr[i][1]=true;
step++;
break;
}
else{continue;}
}
_('res').innerHTML=html || 'Весь массив уже был использован';
if(!html){
clearInterval(x);
_('res').innerHTML+='<br /><br />Интервал прерван!';
}
}

onload=function(){
x=setInterval('timer()',2000);
}
</script>
</head>
<body>
<center><div id="res"></div></center>
</body>
</html>


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Podstanovka-elementa-massiva-v-intervale-id560d0427ae2015425e8b456d#findElement_E7045_560e3647ae2015263d1f5665_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)