减少对象数组并返回对象的所有原始属性

斯文·布罗德森

我有一个对象数组,每个对象有 4 个属性,如下所示:

let arr = [
{name: john, lastName: smith, counter:1, city: New York}
{name: john, lastName: smith, counter:1, city: New York}
{name: emilio, lastName: kouri, counter:1, city: euy}
{name: john, lastName: smith, counter:1, city: New York}
]

我想减少它以返回这个(对计数器求和)

[{name: emilio, lastName: kouri, counter:1, city: euy}
{name: john, lastName: smith, counter:3, city: New York}]

这是我现在使用的代码,它正确地减少了它但只返回 [counter, name],我希望它返回每个对象的所有四个属性,怎么做?

  let counts = arr.reduce((prev, curr) => {
    let count = prev.get(curr.name) || 0;

      prev.set(curr.name, curr.counter + count);
        return prev;
    }, new Map());


      let reducedObjArr = [...counts].map(([key, value]) => {
        return {key, value}
      })
    console.log('reducido',reducedObjArr); 
杰克·巴什福德

您只需要一个reduce没有嵌套map语句的语句:

let arr = [{
  name: "john",
  lastName: "smith",
  counter: 1,
  city: "New York"
}, {
  name: "john",
  lastName: "smith",
  counter: 1,
  city: "New York"
}, {
  name: "emilio",
  lastName: "kouri",
  counter: 1,
  city: "euy"
}, {
  name: "john",
  lastName: "smith",
  counter: 1,
  city: "New York"
}];

let counts = arr.reduce((acc, curr) => {
  if (!acc.some(({ name }) => name == curr.name)) {
    acc.push(curr);
  } else {
    acc.find(({ name }) => name == curr.name).counter++;
  }
  return acc;
}, []);

console.log(counts);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

遍历对象并返回所有属性数组的值

来自分类Dev

返回的json数组包含缺少所有属性的对象

来自分类Dev

在对象数组中,如何在React中按属性返回所有对象?

来自分类Dev

返回对象数组的所有匹配元素?

来自分类Dev

从数组返回对象属性

来自分类Dev

如果数组中的所有对象在属性中都具有值,则返回true

来自分类Dev

从对象数组获取所有唯一的对象属性

来自分类Dev

过滤对象数组以返回具有最新date属性的对象

来自分类Dev

如何动态返回同构对象数组中所有属性的总和?

来自分类Dev

减少对象数组的属性值的最佳方法

来自分类Dev

根据属性值减少对象数组

来自分类Dev

从数组返回对象属性的总值

来自分类Dev

通过键减少数组对象并返回嵌套对象

来自分类Dev

将对象数组减少为属性对象的总数

来自分类Dev

从Ruby中的类的所有对象返回属性

来自分类Dev

嵌套对象文字返回所有属性的长度吗?

来自分类Dev

“for var in”访问 JS 对象返回所有内容 * 但 * 自己的属性?

来自分类Dev

解析PFQuery不返回类中所有对象的数组

来自分类Dev

为什么此函数返回数组中的所有对象?

来自分类Dev

聚集查询返回mongodb所有对象的数组

来自分类Dev

下划线从嵌套数组返回所有对象

来自分类Dev

用Javascript过滤数组并返回所有相关对象

来自分类Dev

Api 调用不返回数组中的所有对象

来自分类Dev

向数组中的所有对象添加属性

来自分类常见问题

删除数组中所有对象的属性

来自分类Dev

转换数组中所有对象的属性的数据类型

来自分类Dev

从数组中的所有JavaScript对象添加特定属性的值

来自分类Dev

访问Javascript中的对象数组内的所有属性

来自分类Dev

对数组中对象的所有属性求和

Related 相关文章

  1. 1

    遍历对象并返回所有属性数组的值

  2. 2

    返回的json数组包含缺少所有属性的对象

  3. 3

    在对象数组中,如何在React中按属性返回所有对象?

  4. 4

    返回对象数组的所有匹配元素?

  5. 5

    从数组返回对象属性

  6. 6

    如果数组中的所有对象在属性中都具有值,则返回true

  7. 7

    从对象数组获取所有唯一的对象属性

  8. 8

    过滤对象数组以返回具有最新date属性的对象

  9. 9

    如何动态返回同构对象数组中所有属性的总和?

  10. 10

    减少对象数组的属性值的最佳方法

  11. 11

    根据属性值减少对象数组

  12. 12

    从数组返回对象属性的总值

  13. 13

    通过键减少数组对象并返回嵌套对象

  14. 14

    将对象数组减少为属性对象的总数

  15. 15

    从Ruby中的类的所有对象返回属性

  16. 16

    嵌套对象文字返回所有属性的长度吗?

  17. 17

    “for var in”访问 JS 对象返回所有内容 * 但 * 自己的属性?

  18. 18

    解析PFQuery不返回类中所有对象的数组

  19. 19

    为什么此函数返回数组中的所有对象?

  20. 20

    聚集查询返回mongodb所有对象的数组

  21. 21

    下划线从嵌套数组返回所有对象

  22. 22

    用Javascript过滤数组并返回所有相关对象

  23. 23

    Api 调用不返回数组中的所有对象

  24. 24

    向数组中的所有对象添加属性

  25. 25

    删除数组中所有对象的属性

  26. 26

    转换数组中所有对象的属性的数据类型

  27. 27

    从数组中的所有JavaScript对象添加特定属性的值

  28. 28

    访问Javascript中的对象数组内的所有属性

  29. 29

    对数组中对象的所有属性求和

热门标签

归档