Все равно столкнулся с проблемой. Код генерирует
a один раз, то есть переменная у меня почему-то не меняется, если я например забью ее значением массив:
var a;
function f(i = 0) {
if (i == arr.length) i = 0;
a = arr[i++];
setTimeout(() => {
f(i);
}, 1000);
}
function N1() {
let c = 0;
let arr2 = [];
let N = 100;
for (var k = 1; k <= N; k++) {
arr2.push(a);
document.write('Item: ' + arr2[c++] + ' of ' + arr2.length + '<br/>');
}
}
У меня выдает список, в котором все 100 элементов равны одному и тому же значению переменной
a.
Соответственно, как я понимаю, чтобы динамически обращаться к первоначальному коду, нужно его обернуть в функцию,
function N0() {
var a;
function f(i = 0) {
if (i == arr.length) i = 0;
a = arr[i++];
setTimeout(() => {
f(i);
}, 1000);
}
return(a);
}
function N1() {
let c = 0;
let arr2 = [];
let N = 100;
let b;
for (var k = 1; k <= N; k++) {
b = N0();
arr2.push(a);
document.write('Item: ' + arr2[c++] + ' of ' + arr2.length + '<br/>');
}
}
Вообще не робит(((...