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

680 ℃

我们可以使用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);

一款专门用于在JavaScript和TypeScript的货币处理工具库——Dinero.js

JavaScript动态日历:如何用变量num精准控制月份递增?

一款开源JavaScript库,实现图片背景色智能提取与融合——AutoHue.js

JavaScript动态绑定方法不执行正确代码示例

一个可以在网页上实现流畅、酷炫的过渡效果JavaScript工具库——Barba.js

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

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

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

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

Trae:新一代免费的AI编程工具
jQuery获取和设置input元素的值(监听input元素的值变化)
如何提升淘宝店铺排名?影响排名的因素有5点?
wordpress实现每日自动备份数据库和文件的功能(编写一个自动化扩展插件)
如何利用nodejs做一个手机号注册功能
javascript如何将gb2312转utf-8