将来自两个JavaScript对象的数据合并到一个新对象中

将来自两个JavaScript对象的数据合并到一个新对象中,javascript,json,object,Javascript,Json,Object,我有一个JavaScript对象,格式如下: { 'date' : {"12.12.2014","12.12.2014","12.12.2014","13.12.2014","13.12.2014","14.12.2014"} 'product' : {"apple","banana","apple","strawberry","apple","banana"} } 必须按以下格式拆分和计算此对象: var apple = { 'date': {"12.12.2014","13.12.201

我有一个JavaScript对象,格式如下:

{
'date' : {"12.12.2014","12.12.2014","12.12.2014","13.12.2014","13.12.2014","14.12.2014"}
'product' :  {"apple","banana","apple","strawberry","apple","banana"}
}
必须按以下格式拆分和计算此对象:

var apple = {
'date': {"12.12.2014","13.12.2014","14.12.2014"}
'product': {2,1,0}
}

var banana = {
'date': {"12.12.2014","13.12.2014","14.12.2014"}
'product': {1,0,1}
}

var strawberry = {
'date' : {"12.12.2014","13.12.2014","14.12.2014"}
'product': {0,1,0}
}

也许您可以提供一个解决方案。

使用适当的数据结构和一些助手
date
dateObj
,首先获得所有日期,其次是作为日期哈希表的对象,第三是分组结果

var object={‘日期’:[“2014年12月12日”、“2014年12月12日”、“2014年12月12日”、“2014年12月13日”、“2014年12月13日”、“2014年12月14日”],‘产品’:[“苹果”、“香蕉”、“苹果”、“草莓”、“苹果”、“香蕉”],
日期=对象.日期.过滤器(函数(d){
如果(!此[d]){
这是真的;
返回true;
}
},Object.create(null)),
dateObj={},
分组={};
日期。forEach(功能(d,i){
dateObj[d]=i;
});
object.product.forEach(函数(p,i){
分组的[p]=分组的[p]||{
日期:日期:,
产品:date.map(函数(d){返回0;})
};
分组[p].product[dateObj[object.date[i]]]]+%;
});

控制台日志(分组)
使用适当的数据结构和一些助手
date
dateObj
,首先获得所有日期,其次是作为日期哈希表的对象,第三是分组结果

var object={‘日期’:[“2014年12月12日”、“2014年12月12日”、“2014年12月12日”、“2014年12月13日”、“2014年12月13日”、“2014年12月14日”],‘产品’:[“苹果”、“香蕉”、“苹果”、“草莓”、“苹果”、“香蕉”],
日期=对象.日期.过滤器(函数(d){
如果(!此[d]){
这是真的;
返回true;
}
},Object.create(null)),
dateObj={},
分组={};
日期。forEach(功能(d,i){
dateObj[d]=i;
});
object.product.forEach(函数(p,i){
分组的[p]=分组的[p]||{
日期:日期:,
产品:date.map(函数(d){返回0;})
};
分组[p].product[dateObj[object.date[i]]]]+%;
});

控制台日志(分组)我不知道那些
产品:{1,0,1}
的逻辑-数字是如何生成的?它是每个日期的产品计数。第一次约会,第二次约会,第三次约会。此符号
{apple,banana,apple,草莓,apple,banana}
无效。显示实际对象结构我更新了对象。请为数组使用适当的方括号。我不了解那些
产品:{1,0,1}
-数字是如何生成的?它是每个日期的产品计数。第一次约会,第二次约会,第三次约会。此符号
{apple,banana,apple,草莓,apple,banana}
无效。显示实际的对象结构我更新了对象。请对数组使用适当的方括号。