#javascript #arrays
#javascript #массивы
Вопрос:
Я генерирую случайные числа, помещаю их в массив, а затем перебираю массив, чтобы ссылаться на каждое число по очереди.
Что я хотел бы иметь возможность делать, так это постоянно генерировать числа (в разумных пределах! Скажем, до 500 итераций, например), но всегда сохраняйте только 5 чисел в массиве.
Я пытался вставить новые числа в массив, а затем переместить массив, но что-то не работает. Мой текущий код:
let initArray = [];
function makeArray() {
do {
let val = Math.floor(Math.random() * 9)
initArray.push(val)
i
}
while (i < 500)
}
function shiftArray() {
if (initArray.length > 5) {
initArray.shift();
}
}
Я новичок, поэтому я уверен, что пропустил что-то основное, но я хотел бы знать, что это такое!
Большое вам спасибо!
Комментарии:
1. Поскольку массивы в JS также являются объектами (на самом деле все является объектом в JS), вы могли бы сделать что-то вроде этого:
const initArray = [1,2,3]; initArray[1] = 4;
Ответ №1:
Было две проблемы:
Ответ: i
не был определен
B: вы не вызывали shiftArray()
.
let initArray = [];
i=0; // define i
function makeArray() {
do {
let val = Math.floor(Math.random() * 9)
initArray.push(val);
shiftArray(); //call shiftArray
console.log(initArray);
i ;
}
while (i < 100) //reduced to prevent computers from screaming
}
function shiftArray() {
if (initArray.length > 5) {
initArray.shift();
}
}
makeArray();