为了账号安全,请及时绑定邮箱和手机立即绑定

减少时未正确打印数组

减少时未正确打印数组

繁花不似锦 2023-11-02 20:07:19
我有 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)您可以在此处访问代码:https://jsfiddle.net/q0wn2vuo/我想要这样的输出:[{ 日期: "2010-01-01", 名称: 'a,aa', }, { 日期: "2010-02-01", 名称: 'b', }, { 日期: "2010-03-01 “,价格:'c',}]
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

干得好。

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"

   },

   

]


const resultSet = {};


 for (let i = 0, _len = data.length; i < _len; i++ ) {

       if(resultSet[data[i].date]){

        resultSet[data[i].date] += ","+data[i].name

       }

       else{

        resultSet[data[i].date] = data[i].name

       }

       

    }


const resultArr = Object.entries(resultSet).map(([key,value])=>{

 return { date: key, name: value }

})

console.log(resultArr)


查看完整回答
反对 回复 2023-11-02
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

尝试:


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((accum, curr) => {

  if (!accum[curr.date]) {

    return {...accum, [curr.date]: [curr.name] }

  }

  return {...accum, [curr.date]: [...accum[curr.date], curr.name] }

}, {})


var final = Object.keys(result1).map(date => ({

  date: date,

  name: result1[date].join(',')

}))


console.log(final)


查看完整回答
反对 回复 2023-11-02
  • 2 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信