web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

JavaScript数组内合并根据相同key生成子数组

454 ℃
     

我们可以使用JavaScript中的Array.reduce()方法对数组进行合并,根据相同的键值对生成子数组。

方法说明:首先,我们使用Array.reduce()方法对数组进行迭代。在每一次迭代中,我们检查当前元素的键是否已经在累加器中存在。如果存在,则将当前元素的值添加到该键对应的值数组中;否则,我们创建一个新的对象,并将其添加到累加器中。最后,我们将累加器转换为数组,并输出结果。

示例如下:

let arr = [
  { key: 'a', value: 1 },
  { key: 'b', value: 2 },
  { key: 'a', value: 3 },
  { key: 'c', value: 4 },
  { key: 'b', value: 5 },
  { key: 'a', value: 6 }
];

合并后结果:

let result = [
  { key: 'a', values: [1, 3, 6] },
  { key: 'b', values: [2, 5] },
  { key: 'c', values: [4] }
];

实现代码:

let result = arr.reduce((acc, curr) => {
  if (acc[curr.key]) {
    acc[curr.key].values.push(curr.value);
  } else {
    acc[curr.key] = { key: curr.key, values: [curr.value] };
  }
  return acc;
}, {});

let finalResult = Object.values(result);
console.log(finalResult);

uniapp开发axios接口调用解决跨域问题(只需4步)

javascript利用pinyin库把汉字转拼音(不带声调)

javascript语法中不等于null和空字符串的3种判断方式

html网页上如何把文件压缩成zip代码示列(前端HTML/JavaScript和后端Node.js + Express)

javascript语法读取文本文件代码(PHP代码读取文本文件)

标签: Array.reduce, JavaScript数组合并

上面是“JavaScript数组内合并根据相同key生成子数组”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_5020.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计632个字,预计阅读时长5分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费可商用仿宋字体——汉字之美仿宋GBK
下一篇: 推荐一款免费可商用英文字体——Atkinson Hyperlegible
x 打工人ai神器