Обновление TextBox по порядку из массива? - PullRequest
1 голос
/ 08 марта 2019

Как мне сделать так, чтобы TextBox обновлялся в порядке, основанном на массиве?

У меня есть 5 и 10 в массиве 'цен', я хочу, чтобы оно перешло к 5, а затем к 10 и т. Д. Четвертому, каков наиболее эффективный способ сделать это? Прямо сейчас он выбирает случайное число в массиве.

const pricetext = document.getElementById('ctl00_cphPrice')
var prices = ["5", "10"]

function update() {
pricetext.value = prices[Math.floor(Math.random() * prices.length)];
}

update()

Ответы [ 2 ]

2 голосов
/ 08 марта 2019

Вы можете взять закрытие по индексу и увеличить его после назначения и настроить длину массива.

const
    pricetext = document.getElementById('ctl00_cphPrice'),
    prices = ["5", "10"],
    update = (index => () => {
        pricetext.value = prices[index++];
        index %= prices.length;
    })(0);

setInterval(update, 2000);
<input type="text" id="ctl00_cphPrice" />
0 голосов
/ 08 марта 2019

Вы можете перебрать свой массив, используя метод forEach :

let prices = ["5", "10"];
prices.forEach(function(item) {
  console.log(item); // will log 5, then 10, etc...
});

Вы также можете сделать это с помощью for loop .

...