Как разбить массив на шаги?

Подскажите пожалуйста как разбить массив на шаги?

В зависимости от значения step нужно разбить массив на шаги.

Если step = 3 , то как result превратить массив

из такого [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] в такой [0, 4, 8] ?

Значения в массиве могут быть любые, шаги в данном случае это их позиция!

let step = 3; // изменяемый
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // изменяемый и значения могут быть любые
let result = [];
for(let i = 0; i < arr.length; i++){
  result.push(arr[i]);
}

console.log(result);


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

Автор решения: Aziz Umarov

так посмотрите

let step = 3; // изменяемый
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // изменяемый и значения могут быть любые
let result = [];

for(let i = 0; i < arr.length; i++){
  if (i%(step + 1) == 0) {
    result.push(arr[i]);
  }
}

console.log(result);

или из комментариев выше

let step = 3; // изменяемый
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // изменяемый и значения могут быть любые
let result = [];

for(let i = 0; i < arr.length; i++){
  if (i%(step + 1) == 0) {
    result.push(arr[i]);
  } else {
    result.push('');
  }
}

console.log(result);

или из комментов ниже

let step = 3; // изменяемый
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // изменяемый и значения могут быть любые
let result = [];

for(let i = 1; i < arr.length; i++){
  if ((i - 1)%(step + 1) == 0) {
    result.push(arr[i]);
  } else {
    result.push('');
  }
}

console.log(result);

→ Ссылка
Автор решения: Sire IMPACTUS

let step = 3; // изменяемый
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; // изменяемый и значения могут быть любые
let result = [];

for(let i = 0; i < arr.length; i += step+1){
    result.push(arr[i]);
}

console.log(result);

→ Ссылка
Автор решения: teran

Для фильтрации массивов имеется Array.filter

let skip = 3; 
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 

let result = arr.filter((v,idx) => idx%(skip+1) == 0);
console.log(result);

→ Ссылка