Как я зацикливаю массив в imacros?

55
6

Я бы хотел, чтобы петля "pin_board" и заменила "boardarray" каждый раз, когда она циклы.. вот код ниже.. "

var boardarray = ['board1', 'board2', 'board3', 'board4', 'board5'];

var text = 'pin_board';

for(var i in boardarray) {

pin_board = "CODE:";
pin_board += "VERSION BUILD=8300326 RECORDER=FX" + "\n";
pin_board += "TAB T=1" + "\n";
pin_board += "TAG POS=1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=1 TYPE=LI ATTR=TXT:" + boardarray + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=R1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=5" + "\n";

}
iimPlay(pin_board);

Спасибо за ответ @karaxuna.. Я модифицирую свой скрипт и пробовал его на imacros.. к сожалению, он только цикл один раз и вместо того, чтобы начинать с board1, он начинался и заканчивался baord5. Так что он запускается только один раз. Я не знаю, пропущу что-нибудь.

Вот отредактированный код..

var boardarray = ['board1', 'board2', 'board3', 'board4', 'board5'];

var text = 'pin_board';

for(var i = 0; i < boardarray.length; i++)
{
pin_board = "CODE:";
pin_board += "VERSION BUILD=8300326 RECORDER=FX" + "\n";
pin_board += "TAB T=1" + "\n";
pin_board += "TAG POS=1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=1 TYPE=LI ATTR=TXT:" + boardarray[i] + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=R1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=5" + "\n";

}
iimPlay(pin_board);

благодаря,

спросил(а) 2020-04-04T00:34:53+03:00 3 месяца назад
1
Решение
56

for(var i = 0; i < boardarray.length; i++)
{
//...
pin_board += "TAG POS=1 TYPE=LI ATTR=TXT:" + boardarray[i] + "\n";
}

Не используйте for in для массивов, используйте его для объектов, чтобы перечислить его свойства

РЕДАКТИРОВАТЬ

var boardarray = ['board1', 'board2', 'board3', 'board4', 'board5'];

var pin_board = '';

for(var i = 0; i < boardarray.length; i++)
{
pin_board += "CODE:";
pin_board += "VERSION BUILD=8300326 RECORDER=FX" + "\n";
pin_board += "TAB T=1" + "\n";
pin_board += "TAG POS=1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=1 TYPE=LI ATTR=TXT:" + boardarray[i] + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=R1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=5" + "\n";
}

ответил(а) 2020-04-04T00:46:15.184089+03:00 3 месяца назад
39

"... к сожалению, он только цикл один раз и вместо того, чтобы начинать с board1, он начинался и заканчивался baord5, поэтому он запускался только один раз. Я не знаю, пропустил ли я что-нибудь".

конечно, for работу, а затем запустить iimPlay(pin_board);


если вы хотите запускать каждый раз - просто поместите iimPlay(pin_board); в for

for(var i = 0; i < boardarray.length; i++)
{
pin_board += "CODE:";
pin_board += "VERSION BUILD=8300326 RECORDER=FX" + "\n";
pin_board += "TAB T=1" + "\n";
pin_board += "TAG POS=1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=1 TYPE=LI ATTR=TXT:" + boardarray[i] + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=R1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=5" + "\n";
iimPlay(pin_board);
}

ответил(а) 2020-04-04T00:34:53+03:00 3 месяца назад
-4

Вы, ребята, читаете wiki.imacros.net?

var boardarray = ['board1', 'board2', 'board3', 'board4', 'board5'];

var pin_board = '';

for(var i = 0; i < boardarray.length; i++)
{
pin_board += "CODE:";
pin_board += "VERSION BUILD=8300326 RECORDER=FX" + "\n";
pin_board += "TAB T=1" + "\n";
pin_board += "TAG POS=1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=1 TYPE=LI ATTR=TXT:{{board}}" + + "\n";
pin_board += "WAIT SECONDS=3" + "\n";
pin_board += "TAG POS=R1 TYPE=BUTTON ATTR=TXT:Pin<SP>it" + "\n";
pin_board += "WAIT SECONDS=5" + "\n";

iimSet("board", boardarray[i])
iimPlay(pin_board);
}

http://wiki.imacros.net/iimSet

ответил(а) 2020-04-04T00:34:53+03:00 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема