Прежде чем дать вам ответ, я хотел бы прежде всего отметить, что это ужасная практика кода. Вам никогда не нужно 660 переменных! Все, что вы пытаетесь сделать, может быть выполнено с помощью массивов. Это, как говорится, вот как вы бы сделали эту работу, и как вы должны сделать это ниже. Я настоятельно рекомендую вам использовать метод массива!
setInterval(function() {
for(var i = 660; i > 22; i--) {
window['cell_' + i] = window['cell_' + (i - 22)];
}
},1000);
Теперь вот что-то более похожее на то, что вы должны делать на самом деле.
var cells = [/* 660 elements */];
setTimeout(function() {
for(var i = 22; i < 660; i++) {
cells[i] = cells[i - 22];
}
}, 1000);
Фактически, с помощью этого метода вы можете сделать все это в одной строке с новым методом Array#copyWithin
в ES6.
const cells = [/* 660 elements */];
setTimeout(() => {
cells.copyWithin(22);
}, 1000);