我需要帮助实现以下函数定义:
我不知道如何处理多维数组
答案 0 :(得分:2)
我们基于id和kepp创建密钥,并相应地将值推入。如果密钥已经存在,则将特定键的数据数组中的新条目推入,如果不存在,则添加带有值的新密钥。最后,我们从输出对象中取出值。
let data = [{date: 1552489200000, data: [{id: 1, value:100}, {id: 2, value: 101}]},{date: 1552575600000, data: [{id: 1, value:102}, {id: 2, value: 103}]},{date: 1552662000000, data: [{id: 1, value:104}]},]
let output = data.reduce((out,{date, data})=>{
data.forEach(({id, value }) => {
let data = {date,value}
out[id] ? out[id].data.push(data) : out[id]={id,data:[data]}
})
return out
},{})
console.log(Object.values(output))