JavaScript数组重构数据,数组转换成对象

在后端返回的数据中,可能不太满意,所以需要自己重构数据。

原始数据

javascript 复制代码
let arr = [
{title:"光头强",age:18,id:"0"},
{title:"孙悟空",age:18,id:"9"},
{title:"熊大",age:18,id:"0"},
{title:"猪八戒",age:18,id:"9"},
{title:"白龙马",age:18,id:"9"},
{title:"小猪佩奇",age:18,id:"4"},
{title:"熊二",age:18,id:"0"},
{title:"乔治",age:18,id:"4"},
{title:"小羊苏西",age:18,id:"4"}
]

现在要重构数据相同id的,放在同一个对象中,id作为key,其他作为value

方法一
javascript 复制代码
// 对数据进行转换
const testGroup = {}
// 思路一:两次循环
for(let item of arr) {
  testGroup [item.id] = []
}

for(let item of arr) {
  const valueArray = testGroup [item.id]
  valueArray.push(item)
}

打印结果

方法二
javascript 复制代码
// 思路二: 一次循环
// 对数据进行转换
const testGroup = {}
for (const item of arr) {
  let valueArray = testGroup [item.id]
  if (!valueArray) {
    valueArray = []
    swipeGroup[item.id] = valueArray
  }
  valueArray.push(item)
}

打印结果

大概就是这样,数据重构

相关推荐
拾年27533 分钟前
我用 30 行代码,搞懂了大模型是怎么"读"中文的
javascript·人工智能·llm
竹林81833 分钟前
从 ethers.js 到 viem:我在一个 DeFi 看板项目中踩过的所有坑与最终方案
前端·javascript
bonechips40 分钟前
Tool Use:从"缸中大脑"到 AI Agent 的技术真相
javascript·agent
秋天的一阵风1 小时前
Vue 3 里被严重低估的 API:InjectionKey
前端·javascript·vue.js
kisshyshy1 小时前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
铁皮饭盒2 小时前
Bun 多线程有多快?postMessage 传输字符串比 Node.js 快 400 倍!
前端·javascript·后端
To_OC12 小时前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
kyriewen15 小时前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
山河木马16 小时前
矩阵专题0-webGL中的矩阵
javascript·webgl·计算机图形学
徐小夕16 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github