Базовый JavaScript. ч.18. Функция для движения элементов в массиве
Предыдущие части:
2. Назначение переменных (var, let, const)
4. Операции с числами при помощи различных выражений.
7. Работа с массивом – извлечение данных
8. Работа с массивом – функция.push ().
9. Работа с массивом – функция.pop ().
10. Работа с массивом – функция.shift ().
11. Работа с массивом – функция.unshift ().
12. Работа с массивом при помощи функций.
13. Создание функций. Оператор function. Параметры функции.
15. Работа с локальной и глобальной переменной
17. Присвоение глобальной переменной определенный результат функции

Теперь попробуем написать функцию, которая будет работать так:
Она будет добавлять элемент в конец массива и удалять первый, а затем выкинутый элемент возвращать, но в конец массива. Т.е. двигать элементы в массиве по кругу.
Начинаем создавать функцию и два значения – будущий массив и переменную
function q (a, z){ // a будет массивом, z переменной
Теперь нам нужно, чтобы в массив a добавлялся «двигатель» в виде переменной z. Для этого нужно использовать функцию .push () в массиве
function q (a, z) {
a.push (z);
Теперь в массив a в конец будет добавляться переменная z. Но, нам нужно выкидывать первый элемент. Для этого есть функция .shift ()
function q (a, z) {
a.push (z);
a.shift ();
Но, надо сделать так, чтобы элемент, который удалялся стал переменной, которая будет двигать массив.
function q (a, z) {
a.push (z);
z = a.shift ();
Теперь z равна удаленному элементу из начала массива. Но, нам нужно, чтобы она возвращалась в массив и начала его двигать. Для этого у нас есть return
function q (a, z) {
a.push (z);
z = a.shift ();
return z;
}
Теперь функция заработала. А дальше мы можем a приравнять к массиву через глобальную переменную
function q (a, z) {
a.push (z);
z = a.shift ();
return z;
}
const a = [1, 2, 3, 4, 5];
Либо можно назначить через const другую переменную (const b, const s), но ее тогда надо вносить в функцию

6.7М