Задать вопрос
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
        }
    ]
]
  • Вопрос задан
  • 6531 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 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);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 14:43
25000 руб./за проект
18 дек. 2024, в 14:22
750 руб./за проект
18 дек. 2024, в 14:20
7500 руб./за проект