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)
}

打印结果

大概就是这样,数据重构

相关推荐
RDCJM3 分钟前
SpringBoot + vue 管理系统
vue.js·spring boot·后端
angerdream5 分钟前
最新版vue3+TypeScript开发入门到实战教程之toRefs与toRef实用技巧
javascript·vue.js
有意义7 分钟前
极简的React 实现一
前端·javascript·react.js
小曹要微笑10 分钟前
委托(Delegate)在C#中的概念与应用
前端·javascript·c#
GISer_Jing14 分钟前
前端职业发展进阶指南:从技术深耕到能力破界,向资深工程师稳步迈进
前端·javascript·架构·typescript
K姐研究社15 分钟前
Nano Banana 2 国内使用教程:LiblibAI 免翻墙使用
前端·javascript·html
松小白song25 分钟前
机器人路径规划算法之Dijkstra算法详解+MATLAB代码实现
前端·javascript·算法
SuperEugene26 分钟前
Vue3 中后台实战:VXE Table 从基础表格到复杂业务表格全攻略 | Vue生态精选篇
前端·vue.js·状态模式·vue3·vxetable
optimistic_chen29 分钟前
【Vue3 入门】掌握这些才能优雅上手
前端·javascript·vue.js·前端框架·visual studio code
认真的小羽❅29 分钟前
JavaScript完全指南:从入门到精通
开发语言·javascript·ecmascript