创建一个新的数组,该数组计算某个参数在数组中出现多少次

Tbmluijten

我有一个数组,提供了一些包含产品数据的额外参数。我为此重新创建了一个简单的版本,如下所示:

    {
        title: 'hello',
        description: 'world'
        tags: [{id: 1, tagName: 'prices'}, {id: 2, tagName: 'video'}]
    },
    {
        title: 'hello',
        description: 'world'
        tags: [{id: 3, tagName: 'images'}, {id: 2, tagName: 'video'}]
    },
    {
        title: 'hello',
        description: 'world'
        tags: [{id: 2, tagName: 'video'}, {id: 4, tagName: 'site'}, {id: 6, tagName: 'online'}]
    }
]

我数组中的每个对象都有一个名为“标签”的数组。我必须创建一个新数组,该数组可以遍历该数组并计算产品上使用某个标签的次数,因此我可以创建如下所示的结果:

[
    {
        id: 1,
        amount: 1
    },
    {
        id: 2,
        amount: 3
    },
    {
        id: 3,
        amount: 1
    },
    {
        id: 4,
        amount: 1
    },
    {
        id: 6,
        amount: 1
    }
]

到目前为止,我所做的是创建一个空数组并开始遍历product数组。然后,我检查是否在新数组中找到了tag.id,如果没有,则将其添加到数组中。如果循环会再次找到相同的ID,则无需将新项添加到数组中,而应将值增加1。

到目前为止,我认为我真的对它进行了过度设计,因为我无法使其正常工作。也许这里有人可以帮我一些我可以使用的代码?

谢谢!

卢卡·普杜(Luca Puddu)

可能有更快的方法,但这是一种方法:

const original = [
    {
        title: 'hello',
        description: 'world',
        tags: [{id: 1, tagName: 'prices'}, {id: 2, tagName: 'video'}]
    },
    {
        title: 'hello',
        description: 'world',
        tags: [{id: 3, tagName: 'images'}, {id: 2, tagName: 'video'}]
    },
    {
        title: 'hello',
        description: 'world',
        tags: [{id: 2, tagName: 'video'}, {id: 4, tagName: 'site'}, {id: 6, tagName: 'online'}]
    }
];

let tags = [];

original.forEach(e => {
    e.tags.forEach(t => {
        let match = tags.find(tag => tag.id == t.id);
        if (match) {
            match.amount++;
        } else {
            tags.push({id: t.id, amount: 1});
        }
    });
});

console.log(tags);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算一个值在这个数组中出现多少次?

来自分类Dev

Swift 4:一个String数组中的元素在String中出现了多少次?

来自分类Dev

Ruby on Rails-如何知道使用Active Record在数组中出现同一对象多少次?

来自分类Dev

C#-检查值在数组中出现多少次并找到索引

来自分类Dev

C#-检查值在数组中出现多少次并找到索引

来自分类Dev

C# - 特定 int 值在数组中出现多少次?没有 Linq 技术

来自分类Dev

计算一个值在Excel的列中出现多少次?

来自分类Dev

如何计算一对特定值在数组中重复多少次?

来自分类Dev

数组包含该值多少次?

来自分类Dev

计算一个值在多维数组中出现的次数

来自分类Dev

在数组中查找重复的整数并显示它们出现了多少次

来自分类Dev

一种优雅的方法来计算一个文件中的模式在另一个文件中出现了多少次

来自分类Dev

如何检查一个单词在php的txt文件中出现多少次?

来自分类Dev

数字在数组内重复多少次,C ++

来自分类Dev

如何计算一个字母在一个字符串中出现多少次?C程序设计

来自分类Dev

我怎样才能得到一个数组中的一个元素在另一个数组中存在多少次?

来自分类Dev

Elasticsearch:我想计算某个特定值在特定字段中出现了多少次

来自分类Dev

一个数字在数组中出现的次数列表

来自分类Dev

快速地,如何创建一个数组,该数组具有与第一个数组中出现的一个月的所有天相对应的所有数字?

来自分类Dev

计算一个数字出现多少次,比前一个数字少一个

来自分类Dev

值在数据集中出现多少次的直方图

来自分类Dev

一个数字出现多少次

来自分类Dev

一个名字在一条消息中出现多少次?蟒蛇2.x

来自分类Dev

如何计算字母在文本javascript中出现多少次

来自分类Dev

逻辑思考:计算某个整数出现多少次

来自分类Dev

一个单元格数组中存在一个字符串多少次

来自分类Dev

Shell编程如何计算单词在一行中出现多少次?

来自分类Dev

创建一个有两个参数的函数,参数 a 将是一个数组,参数 b 将在数组中查找一个元素

来自分类Dev

计算json数组对象并使用SUM结果创建一个新数组

Related 相关文章

  1. 1

    计算一个值在这个数组中出现多少次?

  2. 2

    Swift 4:一个String数组中的元素在String中出现了多少次?

  3. 3

    Ruby on Rails-如何知道使用Active Record在数组中出现同一对象多少次?

  4. 4

    C#-检查值在数组中出现多少次并找到索引

  5. 5

    C#-检查值在数组中出现多少次并找到索引

  6. 6

    C# - 特定 int 值在数组中出现多少次?没有 Linq 技术

  7. 7

    计算一个值在Excel的列中出现多少次?

  8. 8

    如何计算一对特定值在数组中重复多少次?

  9. 9

    数组包含该值多少次?

  10. 10

    计算一个值在多维数组中出现的次数

  11. 11

    在数组中查找重复的整数并显示它们出现了多少次

  12. 12

    一种优雅的方法来计算一个文件中的模式在另一个文件中出现了多少次

  13. 13

    如何检查一个单词在php的txt文件中出现多少次?

  14. 14

    数字在数组内重复多少次,C ++

  15. 15

    如何计算一个字母在一个字符串中出现多少次?C程序设计

  16. 16

    我怎样才能得到一个数组中的一个元素在另一个数组中存在多少次?

  17. 17

    Elasticsearch:我想计算某个特定值在特定字段中出现了多少次

  18. 18

    一个数字在数组中出现的次数列表

  19. 19

    快速地,如何创建一个数组,该数组具有与第一个数组中出现的一个月的所有天相对应的所有数字?

  20. 20

    计算一个数字出现多少次,比前一个数字少一个

  21. 21

    值在数据集中出现多少次的直方图

  22. 22

    一个数字出现多少次

  23. 23

    一个名字在一条消息中出现多少次?蟒蛇2.x

  24. 24

    如何计算字母在文本javascript中出现多少次

  25. 25

    逻辑思考:计算某个整数出现多少次

  26. 26

    一个单元格数组中存在一个字符串多少次

  27. 27

    Shell编程如何计算单词在一行中出现多少次?

  28. 28

    创建一个有两个参数的函数,参数 a 将是一个数组,参数 b 将在数组中查找一个元素

  29. 29

    计算json数组对象并使用SUM结果创建一个新数组

热门标签

归档