JS 有趣的阵列处理小题目

JS 有趣的小题目

到处看文章,晃到的一个小题目。
看似简单,但还是耗了一些时间才想出解法。

题目来源原作者也有他的解法可以参考参考~目标是把原始资料的category合併成目标资料~
// 原始资料const data = [  { id: 1, content: 'hello', category: 'HTML' },  { id: 1, content: 'hello', category: 'JS' },  { id: 1, content: 'hello', category: 'CSS' },  { id: 2, content: 'hi', category: 'CSS' },]// 目标const target = [  { id: 1, content: 'hello', category: 'HTML,JS,CSS' },  { id: 2, content: 'hi', category: 'CSS' },]

个人解法

  const newData = []  data.forEach((el) => {    // 判断有该id的object 是否存在于 新的阵列中    // 无则加入,有则找到该物件 并将 category加入其后    if (!newData.find(elem => elem.id === el.id)) {      newData.push(el)    } else {      const index = newData.findIndex(elem => elem.id === el.id)      newData[index].category += `,${el.category}`    }  })  console.dir(newData)

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章