You need to enable JavaScript to run this app. 基于唯一Device_MAC键合并多组对象数组生成结果集的实现方法
优惠活动
大模型
产品
解决方案
定价
更多

基于唯一Device_MAC键合并多组对象数组生成结果集的实现方法

基于Device_MAC的多数组关联合并实现
  • 先将两个统计类数组转换为以Device_MAC为键的映射对象,将嵌套查找的时间复杂度从O(n*m)降到O(n),数据量越大性能优势越明显
  • 遍历基础设备数组,逐个从映射对象中读取对应统计值,无匹配时给统计字段默认值0
  • 按需求完成字段映射转换:源统计数组的Completed对应结果的Complete、Incompleted对应结果的Incomplete,同时完成设备型号的替换
// 生成完成量映射表
const completedMap = CompletedArray.reduce((acc, cur) => {
  acc[cur.Device_MAC] = cur.Completed
  return acc
}, {})

// 生成未完成量映射表
const incompletedMap = IncompletedArray.reduce((acc, cur) => {
  acc[cur.Device_MAC] = cur.Incompleted
  return acc
}, {})

// 整合生成最终结果
const Result = Devices.map(device => {
  const mac = device.Device_MAC
  return {
    Device_MAC: mac,
    // 按需求将原Model 1替换为K Lite,无需替换可直接取device.Device_Model
    Device_Model: device.Device_Model === 'Model 1' ? 'K Lite' : device.Device_Model,
    Date: device.Date,
    Total: device.Total,
    Complete: completedMap[mac] ?? 0,
    Incomplete: incompletedMap[mac] ?? 0
  }
})

若需兼容不支持空值合并运算符??的老旧环境,可将取值逻辑替换为 completedMap[mac] || 0、incompletedMap[mac] || 0

内容的提问来源于stack exchange,提问作者Dhaval Darji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 05:15:04