JAVASCRIPT解决数组中对象相同的KEY值合并到新数组中(ES6)
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
1.准备数据
const oldData = [
{ id: 1, value: ‘11’ },
{ id: 1, value: ‘12’ },
{ id: 2, value: ‘22’ },
{ id: 2, value: ‘23’ },
{ id: 2, value: ‘24’ },
{ id: 3, value: ‘33’ },
{ id: 3, value: ‘34’ },
{ id: 4, value: ‘44’ }
]
2.代码分析
const s = new Set() //实例化对象
oldData.forEach(item => s.add(item.id)) //添加值(Set可以去掉重复数据)
let newData = Array.from({ length: s.size }, () => []) //创建指定长度数组并添值
oldData.forEach(item => {
let index = […s].indexOf(item.id) //找到指定下标
newData[index].push(item) //添加数据
})
console.log(newData)
3.运行结果
原文链接:https://www.freesion.com/article/9394270442/