Поэтому давайте скажем, что у меня есть массив, который выглядит так:
var addresses = [[{house: "231 Main", id: "someID"},
{house: "233 Main", id: "someID"}],
[{house: "440 10th Street", id: "someID"},
{house: "443 10th Street", id: "someID"},
{house: "450 10th Street", id: "someID"}],
[{house: "440 11th Street", id: "someID"}]]
Как я могу разбить этот 2d-массив на два несколько сбалансированных массива на основе подсчетов внутри вложенных массивов? Поэтому переходим от наличия одного массива, содержащего три вспомогательных массива, в общей сложности шесть элементов для двух массивов, каждый из которых имеет вспомогательные массивы с общим количеством трех элементов.
сгладить подмассивы с помощью [].concat
и разбить его на два подмассива с использованием slice
const addresses = [[{house: "231 Main", id: "someID"},
{house: "233 Main", id: "someID"}],
[{house: "440 10th Street", id: "someID"},
{house: "443 10th Street", id: "someID"},
{house: "450 10th Street", id: "someID"}],
[{house: "440 11th Street", id: "someID"}]]
const flattened = [].concat(...addresses)
const length = flattened.length
const result = [
flattened.slice(0, Math.floor(length/2)),
flattened.slice(Math.floor(length/2))
]
console.log(result)
reduce
.