gpt4 book ai didi

javascript 基于 ES6 中的单个项目对象数组组合对象数组

转载 作者:行者123 更新时间:2023-11-28 17:28:24 25 4
gpt4 key购买 nike

我有以下数据

var data = [
{username:'andy', entries:[{time_in:12, ..},{time_in:334,...}]},
{username:'andy2', entries:[{time_in:'sr12', ..},{time_in:334,...}]}
]

我期待得到的是最终数据

var result = [
{username:'andy', entry:12},
{username:'andy', entry:334},
{username:'andy2', entry:'sr12'},
{username:'andy2', entry:334},
]

每个数组对象有更多属性,但为了简洁起见,我仅包含用户名

所以我已经尝试过

data.forEach(item=>{
item.entries.forEach(entry=>{
//am stuck here
})
})

最佳答案

您可以将array#reducearray#forEach结合使用。迭代每个对象,并为每个对象迭代 entries 数组,将新对象添加到累加器中。

const data = [
{username: 'andy', entries: [{time_in: 12}, {time_in: 334}]},
{username: 'andy2', entries: [{time_in: 'sr12'}, {time_in: 334}]}
]

const result = data.reduce((r, {username, entries}) => {
entries.forEach(({time_in: entry}) => r.push({username, entry}))
return r
}, [])

console.log(result)

关于javascript 基于 ES6 中的单个项目对象数组组合对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51023004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com