AlexaShemetova
@AlexaShemetova
While I'm breathing - I love and believe

Как разбить массив на равные части?

Есть массив объектов:

var array = [
    {
        "id": 1
    },
    {
        "id": 2
    },
    {
        "id": 3
    },
    {
        "id": 4
    }
]

Из него нужно получить такой массив, где каждые два элемента будут в отдельном массиве:

var newArray = [
    [
        {
            "id": 1
        },
        {
            "id": 2
        }
    ],
    [
        {
            "id": 3
        },
        {
            "id": 4
        }
    ]
]
  • Вопрос задан
  • 6283 просмотра
Решения вопроса 2
sergiks
@sergiks Куратор тега JavaScript
♬♬
array.reduce((acc,c,i,arr) => {
  if ((i & 1) === 0) acc.push([]);
  acc[acc.length - 1].push(c);
  return acc;
}, [])
Ответ написан
Комментировать
function chunkArray(array, chunk) {
  const newArray = [];
  for (let i = 0; i < array.length; i += chunk) {
    newArray.push(array.slice(i, i + chunk));
  }
  return newArray;
}

const res = chunkArray(array, 2);
console.log(res);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы