Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 减少时未正确打印阵列_Javascript_Arrays_Merge - Fatal编程技术网

Javascript 减少时未正确打印阵列

Javascript 减少时未正确打印阵列,javascript,arrays,merge,Javascript,Arrays,Merge,我有1个javascript数组。我想根据日期合并这个数组,得到每个价格并放入字段。然而,我只得到1英镑的价格。另一个日期相同的价格不打印。有人能帮我吗?为什么?多谢各位 代码如下: Javascript: var data = [ { "date":"2010-01-01", "name":"a" }, { "date":"2010

我有1个javascript数组。我想根据日期合并这个数组,得到每个价格并放入字段。然而,我只得到1英镑的价格。另一个日期相同的价格不打印。有人能帮我吗?为什么?多谢各位

代码如下:

Javascript:

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'
或其他什么?对不起,这是我想要的输出,所以在组合价格时需要字符串,而不是数字?(听起来有点奇怪)这些数据只是样本。我想合并数据的名称。等等,让我先编辑代码。对不起,我已经在编辑我的帖子了。非常抱歉