@ParaBellum577

Как разбить массив на два равных?

const arr = [
{
Type: "LEARNING", 
Time: 150,
 TimeP: 10.23,
 Switches: 3324, 
Description: "Unknown Title"
},
{
Type: "LEARNING", 
Time: 150,
 TimeP: 10.23,
 Switches: 3324, 
Description: "Unknown Title"
},
{
Type: "LEARNING", 
Time: 150,
 TimeP: 10.23,
 Switches: 3324, 
Description: "Unknown Title"
},
{
Type: "LEARNING", 
Time: 150,
 TimeP: 10.23,
 Switches: 3324, 
Description: "Unknown Title"
}
]

Как можно быстро разбить массив такого типа n длины на 2 равных массива +-1 обьект?
  • Вопрос задан
  • 1556 просмотров
Решения вопроса 2
rockon404
@rockon404
Frontend Developer
const part1 = arr.slice(0, arr.length / 2);
const part2 = arr.slice(arr.length / 2);
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега JavaScript
function chunked(arr, numChunks) {
  const chunks = [];
  const chunkSize = arr.length / numChunks | 0;
  const numLooseItems = arr.length % numChunks;

  for (let i = 0, j = 0; j < numChunks; j++) {
    chunks.push(arr.slice(i, i += chunkSize + (j < numLooseItems)));
  }

  return chunks;
}


const [ head, tail ] = chunked(arr, 2);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы