亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

減少時未正確打印數組

減少時未正確打印數組

繁花不似錦 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 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號