You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据player-id属性值将对象数组拆分为多个对应分组数组

实现方案

你可以直接用数组的reduce方法完成分组,该方案天然适配数据库动态新增玩家的场景,无需提前定义对应玩家的变量:

const playerGroups = database.reduce((acc, cur) => {
  const playerKey = `player${cur.player}`
  // 该玩家无分组则先初始化空数组
  if (!acc[playerKey]) acc[playerKey] = []
  acc[playerKey].push(cur)
  return acc
}, {})

执行后你需要的所有玩家数组都会存在playerGroups对象中,例如取玩家1的数据直接访问playerGroups.player1即可,和你预期的结构完全一致。

如果确实需要将每个玩家数组声明为独立的全局变量,可以追加以下代码:

// 可选:生成分组对应的全局独立变量
Object.entries(playerGroups).forEach(([playerKey, playerData]) => {
  window[playerKey] = playerData
})

执行后即可直接调用player1、player2等变量使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:36:03