Javascript 减少时未正确打印阵列
我有1个javascript数组。我想根据日期合并这个数组,得到每个价格并放入字段。然而,我只得到1英镑的价格。另一个日期相同的价格不打印。有人能帮我吗?为什么?多谢各位 代码如下: Javascript:Javascript 减少时未正确打印阵列,javascript,arrays,merge,Javascript,Arrays,Merge,我有1个javascript数组。我想根据日期合并这个数组,得到每个价格并放入字段。然而,我只得到1英镑的价格。另一个日期相同的价格不打印。有人能帮我吗?为什么?多谢各位 代码如下: Javascript: var data = [ { "date":"2010-01-01", "name":"a" }, { "date":"2010
var data = [
{
"date":"2010-01-01",
"name":"a"
},
{
"date":"2010-02-01",
"name":"b"
},
{
"date":"2010-03-01",
"name":"c"
},
{
"date":"2010-01-01",
"name":"aa"
},
]
var result1 = data.reduce((p, c) =>
(p[c.date] = Object.assign({},{name: null}, p[c.date], c)) && p
, {});
var final = Object.keys(result1).map(x=>result1[x])
console.log(final)
您可以在此处访问代码:
我希望输出如下:
[{
日期:“2010-01-01”,
名称:‘a,aa’,
}, {
日期:“2010-02-01”,
名称:‘b’,
}, {
日期:“2010-03-01”,
价格:'c',
}]给你。
var数据=[
{
“日期”:“2010-01-01”,
“名称”:“a”
},
{
“日期”:“2010-02-01”,
“名称”:“b”
},
{
“日期”:“2010-03-01”,
“名称”:“c”
},
{
“日期”:“2010-01-01”,
“名称”:“aa”
},
]
const resultSet={};
for(设i=0,_len=data.length;i<_len;i++){
if(resultSet[data[i].date]){
结果集[data[i].日期]+=“,”+数据[i].名称
}
否则{
结果集[data[i].date]=数据[i].name
}
}
const resultar=Object.entries(resultSet.map)([key,value])=>{
返回{date:key,name:value}
})
console.log(resultar)
试试:
var数据=[
{
“日期”:“2010-01-01”,
“名称”:“a”
},
{
“日期”:“2010-02-01”,
“名称”:“b”
},
{
“日期”:“2010-03-01”,
“名称”:“c”
},
{
“日期”:“2010-01-01”,
“名称”:“aa”
},
]
var result1=数据减少((累计,当前)=>{
如果(!累计[当前日期]){
返回{…累计[curr.date]:[curr.name]}
}
返回{…累计[当前日期]:[…累计[当前日期],当前名称]}
}, {})
var final=Object.keys(result1.map)(日期=>({
日期:日期:,
名称:result1[date]。加入(','))
}))
console.log(最终版)
您所说的价格:30 45是什么意思?这不是有效的语法,您想要[30,45]
,还是'30 45'
或其他什么?对不起,这是我想要的输出,所以在组合价格时需要字符串,而不是数字?(听起来有点奇怪)这些数据只是样本。我想合并数据的名称。等等,让我先编辑代码。对不起,我已经在编辑我的帖子了。非常抱歉