Javascript将2个新键动态添加到新的dictionary对象或增量(如果存在)

Javascript将2个新键动态添加到新的dictionary对象或增量(如果存在),javascript,dictionary,key,Javascript,Dictionary,Key,我正在尝试基于两个数据键值对用javascript创建一个字典(我想用它做一种分组方法) 我的数据有两个字段:名称(保留或存储)和月份名称字段:somedata={name:“July”,value:“reserved”} 现在,我想把相应的月份累加到一个桶中,并为它们对应的每个组(保留或存储)增加+1。 如何动态迭代数组中的对象?如何动态创建一个dictionary对象,其中key为months,然后每次输入相同的数据对象时,value(或其他字段为reserved)和increment+1?

我正在尝试基于两个数据键值对用javascript创建一个字典(我想用它做一种分组方法) 我的数据有两个字段:名称(保留或存储)和月份名称字段:
somedata={name:“July”,value:“reserved”}
现在,我想把相应的月份累加到一个桶中,并为它们对应的每个组(保留或存储)增加+1。 如何动态迭代数组中的对象?如何动态创建一个dictionary对象,其中key为months,然后每次输入相同的数据对象时,value(或其他字段为reserved)和increment+1?所以这基本上是一个按月分组的值对象

在Python中,这非常简单:

ist_of_urls = ['http://www.google.fr/', 'http://www.google.fr/', 
                'http://www.google.cn/', 'http://www.google.com/', 
                'http://www.google.fr/', 'http://www.google.fr/', 
                'http://www.google.fr/', 'http://www.google.com/', 
                'http://www.google.fr/', 'http://www.google.com/', 
                'http://www.google.cn/']

urls = [{'url': 'http://www.google.fr/', 'nbr': 1}]

    urls_d = {}
    for url in list_of_urls:
        if not url in urls_d:
            urls_d[url] = 1
        else:
            urls_d[url] += 1
对于一个键url,但我不知道如何在javascript中对两个键执行此操作

编辑:为了更精确,我的任务是为ngx图表生成特定的数据格式:

{name: "...", series: [{name:"..",value:".."},{...}]}
来自api的一些原始数据:

[
{
"Anzahl": 1,
"DemoID": 123456789,
"Monat": "August"
},
{
"Anzahl": 2,
"DemoID": 123456789,
"Monat": "April"
},
{
"Anzahl": 2,
"DemoID": 123456789,
"Monat": "Mai"
}
]
我之前做了一个12个月的数组:

docArray= [
    {name: "Januar", series: []}, {name: "Februar", series: []}, {name: "Maerz", series: []}, {name: "April", series: []},
    {name: "Mai", series: []}, {name: "Juni", series: []}, {name: "Juli", series: []}, {name: "August", series: []},
    {name: "September", series: []}, {name: "Oktober", series: []}, {name: "November", series: []}, {name: "Dezember", series:[]}
  ]
对于堆叠条形图,我必须准备数据,使其符合数据模式,并将其全部放在一个数组(“docArray”):对于这两种数据,我使用了两种不同的格式化方法(内部角度订阅方法;)


在我看来,这种方法非常乏味,如果数组中有100或1000个不同的值或未知值会怎么样…?

对于计数,如果在对象中找不到url,您可以获取一个对象并使用默认值

var数组=[]http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.cn/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.cn/'],
count=array.reduce((c,s)=>(c[s]=(c[s]|0)+1,c),Object.create(null));

控制台日志(计数)对于计数,如果在对象中找不到url,则可以获取对象并使用默认值

var数组=[]http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.cn/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.fr/', 'http://www.google.com/', 'http://www.google.cn/'],
count=array.reduce((c,s)=>(c[s]=(c[s]|0)+1,c),Object.create(null));

控制台日志(计数)以下是Python示例的JS模拟:

 const urls_d = {};
 for (const url of list_of_urls) {
   if (urls_d[url]) {
     urls_d[url]++;
   } else {
     urls_d[url] = 1;
   }
 }

下面是Python示例的JS模拟:

 const urls_d = {};
 for (const url of list_of_urls) {
   if (urls_d[url]) {
     urls_d[url]++;
   } else {
     urls_d[url] = 1;
   }
 }

月vs网址?请添加原始数据和想要的结果。好的,我在下面添加了一个示例…请添加您希望从数据中获得的内容。好的,在结尾添加了它..月vs url?请添加原始数据和所需结果。好的,我在下面添加了一个示例…请添加您希望从数据中获得的内容。好的,在末尾添加了它。。
 const urls_d = {};
 for (const url of list_of_urls) {
   if (urls_d[url]) {
     urls_d[url]++;
   } else {
     urls_d[url] = 1;
   }
 }