我如何找到重复的公司并将其合并为一个公司并将其权重加在一起

麦克斯韦·林恩

我尝试使用filter,reduce和include的一些其他选项,但无法解决这个问题。

我在对象下面有这个数组:

[
  { name: 'GrapeCo', weight: 0.15 },
  { name: 'MicroFit', weight: 0.5 },
  { name: 'GreenCo', weight: 0.3 },
  { name: 'GrapeCo', weight: 0.2 },
  { name: 'GrapeCo', weight: 0.3 },
  { name: 'GoldenGadgets', weight: 0.3 },
  { name: 'SpaceY', weight: 0.3 },
  { name: 'BeanzRUS', weight: 0.6 },
  { name: 'GrapeCo', weight: 0.2 },
  { name: 'SolarCorp', weight: 0.8 }
]

我想找到所有重复的命名公司,并将它们合并为一个总权重。

所以输出将是这样的:

[
  { name: 'MicroFit', weight: 0.5 },
  { name: 'GreenCo', weight: 0.3 },
  { name: 'GoldenGadgets', weight: 0.3 },
  { name: 'SpaceY', weight: 0.3 },
  { name: 'BeanzRUS', weight: 0.6 },
  { name: 'GrapeCo', weight: 0.85 },
  { name: 'SolarCorp', weight: 0.8 }
]

我一直试图开始工作的我的reduce方法如下所示:

companies.reduce(
  (acc, elem) => {
     return {
        ...acc,
        [elem.name]: elem.weight + (acc[name] || 0),
     };
  },  
  {}
);
德里克·W

companies.reduce回调存在问题您需要使用acc[elem.name]而不是acc[name]

const companies = [
  { name: 'GrapeCo', weight: 0.15 },
  { name: 'MicroFit', weight: 0.5 },
  { name: 'GreenCo', weight: 0.3 },
  { name: 'GrapeCo', weight: 0.2 },
  { name: 'GrapeCo', weight: 0.3 },
  { name: 'GoldenGadgets', weight: 0.3 },
  { name: 'SpaceY', weight: 0.3 },
  { name: 'BeanzRUS', weight: 0.6 },
  { name: 'GrapeCo', weight: 0.2 },
  { name: 'SolarCorp', weight: 0.8 }
];

const groupedBy = companies.reduce((acc, elem) => ({
  ...acc,
  [elem.name]: elem.weight + (acc[elem.name] || 0)
}), {});
const result = Object.entries(groupedBy).map(([ name, weight ]) => ({
  name,
  weight: parseFloat(weight.toFixed(2))
}));
console.log(result);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

阅读不同网页的内容,然后将其加在一起以放入另一个URL

来自分类Dev

如何将其他所有列加在一起

来自分类Javascript

遍历数组数组中的每个对象找到ID,将其与数组中的另一个对象匹配并将它们连接在一起

来自分类Dev

过滤数组并将元素添加在一起

来自分类Java

Java泛型并将数字加在一起

来自分类Javascript

打印数字的力量并将它们加在一起

来自分类Dev

SQL存储过程结合了类似的材料并将长度加在一起

来自分类Dev

将多个对象简化为一个,将值加在一起

来自分类Dev

如何awk间隔表达式并将其分组在一起?

来自分类Dev

jsoup-查找元素并将其与上一个元素一起删除

来自分类Dev

如何从另一个View Controller更改标签的文本并将其与核心数据一起保存

来自分类Dev

如何将我列出的数字加在一起

来自分类Dev

如何将X个元素的组加在一起?

来自分类Dev

如何将两个非字符串加在一起...?

来自分类Python

将三个数组加在一起以在python中形成一个数组

来自分类Mysql

SQL帮助:如何将两个不同的行加在一起作为一个值?

来自分类PHP

如何检查JSON对象数组中的相同值并将其组合在一起?

来自分类Dev

取消列出数据框列并将其粘贴在一起

来自分类Dev

如何合并多个文件中的命名导出并将其导出为一个对象

来自分类Dev

合并两个字典列表,将值加在一起

来自分类Dev

如何将多个数据帧合并为一个并将其输出到pandas中的csv文件中?

来自分类Python

将字典加在一起,Python

来自分类Dev

将类的元素加在一起

来自分类Dev

Bash,将grep的结果加在一起

来自分类Java

如何获得三个并行数组的最大值的索引加在一起?

来自分类Dev

找到一个元素并将其移动到另一个元素下方

来自分类Javascript

我如何获得平均一个阵列,并将其与值进行比较

来自分类Linux

我如何搜索文件并将其压缩为一个zip文件

来自分类Dev

后续操作,用于在目录中搜索特定的文件扩展名并执行总和以将其内容加在一起

TOP 榜单

  1. 1

    来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

  2. 2

    HikariPool-1-连接不可用,对于极小的负载服务器,请求在30000ms之后超时

  3. 3

    OpenJDK的和AdoptOpenJDK的区别

  4. 4

    任务':app:minifyReleaseWithR8'.java.lang.NullPointerException的执行失败(无错误消息)

  5. 5

    java.lang.NoClassDefFoundError:无法初始化类org.bytedeco.javacpp.avutil

  6. 6

    是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

  7. 7

    如何优化在Java中这种方法吗?我得到的时间超限

  8. 8

    错误TS1086:一个存取器不能在角9的环境上下文被声明

  9. 9

    java.lang.NoSuchFieldError的:ACCEPT_CASE_INSENSITIVE_VALUES

  10. 10

    如何在exoplayer中播放本地媒体文件的硬编码内容uri

  11. 11

    Keras提前停止回调错误,val_loss指标不可用

  12. 12

    在JavaScript中删除多个对象键值

  13. 13

    请问Spring事务管理工作与Spring WebFlux?

  14. 14

    未定义:grpc.SupportPackageIsVersion7 grpc.ServiceRegistrar

  15. 15

    如何在Python中将字典拆分成多个字典的列表,所有字典的大小均为N

  16. 16

    在IntelliJ IDEA中并行运行测试用例

  17. 17

    Java的无法解析日期的SimpleDateFormat

  18. 18

    tensorflow:仅在可用val_acc的情况下可以保存最佳模型,跳过

  19. 19

    无法装载动态库“libnvinfer.so.6”

  20. 20

    Java反射错误Java.lang.NoSuchMethodException,但是方法存在

  21. 21

    我在android studio中创建了clicker应用。但是,运行时,应用程序在调用“ incrementCount()”后崩溃。为什么?

热门标签

归档