javascript - 将分组对象数组平均分成两个
问题描述
所以假设我有一个看起来像这样的数组:
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"}]]
如何根据嵌套数组中的计数将此二维数组拆分为两个稍微平衡的数组?因此,从一个包含三个子数组的数组(总共六个项目)到两个数组,每个数组包含一个总共三个项目的子数组。
解决方案
使用 展平子数组[].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)
推荐阅读
- android - 如何检查 Espresso 中的待处理意图数组?
- javascript - Create-React-App 在 Edge 浏览器中不起作用
- ibm-cloud - IBM Cloud:在“经典基础架构”下设置时如何通过 API 访问 DNS 条目
- python-3.x - 如何将字典中的值与嵌套字典中的值关联?
- r - package expss:以与值标签相同的格式打印多个响应的标签
- arrays - 使用数组和通配符自动过滤 VBA
- pandas - 当其他列满足条件时计算列中的行总和
- java - Spring Boot 升级后“找不到提供程序 com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule”
- python - 用python分析每月销售额
- node.js - 基于 websockets 和 Mqtt 协议的 MQTT 消息传递