Как в цикле пропускать нужное количество иттераций?

let arr = [0,1,5,6,7,9,11,14,19,21,22,25,28];

function genArr(arr, skip) {
  let data = [];
  for (let i in arr) {
    data.push(arr[i]);
  }
  return data;
}

console.log( genArr(arr, 0) ); // [0,1,5,6,7,9,11,14,19,21,22,25,28];
console.log( genArr(arr, 1) ); // [0,5,7,11,19,22,28];
console.log( genArr(arr, 2) ); // [0,6,11,21,28];
//...


Ответы (1 шт):

Автор решения: UModeL

Просто укажите в цикле необходимое приращение в третьем параметре:

let arr = [0, 1, 5, 6, 7, 9, 11, 14, 19, 21, 22, 25, 28];

function genArr(arr, skip) {
  let data = [];
  for (let i = 0; i < arr.length; i = ++i + skip) {
    data.push(arr[i])
  }
  return data;
}

console.log(genArr(arr, 0)); // [0,1,5,6,7,9,11,14,19,21,22,25,28];
console.log(genArr(arr, 1)); // [0,5,7,11,19,22,28];
console.log(genArr(arr, 2)); // [0,6,11,21,28];

→ Ссылка