Итак, у меня есть стек JavaScript, построенный после этой функции:
function Stack() //Creating Stack Object
{
// Create an empty array of cards.
this.cards = new Array(); //cards array inside stack object
this.push = pushdata; //Call pushdata function on push operation
this.pop = popdata; //Call popdata function on pop operation
this.printStack = showStackData; //Call showStackData function on printstack operation
this.populate = function populate() {
this.push(rand());
this.push(rand());
this.push(rand());
this.push(rand());
}
}
(где rand () - это просто функция, генерирующая случайное число от 0 до 10 - надеюсь, синтаксисхорошо, потому что мне пришлось удалить много закомментированных функций, чтобы сделать его подходящим для этого поста).
Так что я хочу добиться, чтобы не допустить, чтобы 4 одинаковых значения в этом стеке / массиве.
Я понял, что могу проверить каждое число, сгенерированное rand (), прежде чем оно будет помещено в стек, добавить 1 в переменную счетчика и добавить условие, чтобы не добавлять это число, когда его счетчик уже равен четырем.,Но это будет означать новую переменную для каждого возможного числа, которое может быть помещено в стек, что кажется мне ненужным излишним, и я думаю, вы понимаете, что это не самое элегантное решение.
как бы вы подошли к этому?
Заранее большое спасибо!