Я пробовал что-то подобное, но не работает.
let array = [];
let count = 1;
for(let i = 1; i < 15; i++){
if (i == count){
break
}else{
array.push(i);
}
count++;
}
Не работает, что вы имеете в виду?
break останавливает цикл, т.е. с текущими значениями переменных он никогда не выполняется после первого условия. Также просьба уточнить задачу "Распечатать" как? Как у вас сериал?
FWIW шаблон: +2, +1, +2, +1, +1, +2, +1, +1, +1 ... В случае, если это должно работать со значениями больше 15.
@ Крис, картина другая ... см. Ниже.
Я думаю, мы говорим одно и то же разными словами. Я просто разбивал его на части, а не на компенсацию. Ваши +2, +3 и т.д. соответствуют моим увеличивающимся частям +1. Хороший ответ!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужна другая переменная, начните с нуля и используйте индекс для пропуска и увеличения счетчика для следующего пропущенного элемента.
1 3 4 6 7 8 10 11 12 13 15 taken value 0 2 5 9 14 skipped +2 +3 +4 +5 added offset
let array = [],
count = 1,
index = 0,
i;
for (i = 0; i <= 15; i++) {
if (index === i) {
index += ++count;
continue;
}
array.push(i);
}
console.info(array.join(' '));
Какая его часть не работает? Я вижу несколько причин, по которым это не даст вам то, что вы ищете.