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

如何将对象数组映射为可通过row和col字段访问的嵌套数组

实现按row和col字段映射对象到嵌套数组

你可以使用数组的reduce方法遍历原数组,逐步构建出符合需求的嵌套数组结构:

const arrayList = [
  {row: 0, col: 0, name:'Ankara'},
  {row: 0, col: 1, name:'Tokyo'},
  {row: 1, col: 0, name:'Munih'},
  {row: 1, col: 1, name:'Basel'},
];

const arrayMapList = arrayList.reduce((acc, item) => {
  // 初始化当前行的数组(如果不存在的话)
  if (!acc[item.row]) {
    acc[item.row] = [];
  }
  // 将对象放置到对应的行列位置
  acc[item.row][item.col] = item;
  return acc;
}, []);

// 验证访问结果
console.log(arrayMapList[0][0]); // 输出 {row: 0, col: 0, name: 'Ankara'}
console.log(arrayMapList[1][1]); // 输出 {row: 1, col: 1, name: 'Basel'}

补充说明

  • 该方案默认row和col是从0开始的连续整数索引,若数据中存在非连续的行列值,会生成稀疏数组(数组中存在空占位索引),但依然能通过指定行列值访问对应对象。
  • 如果需要处理非连续行列的场景,可以先对行列值做归一化处理,或者改用对象嵌套的方式存储数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:25:19