Javascript 如何格式化对象数据数组?(循环中重复值,存储在数组中)
我需要处理对象数组并按预期格式化它。 此时如何格式化数组Javascript 如何格式化对象数据数组?(循环中重复值,存储在数组中),javascript,arrays,object,Javascript,Arrays,Object,我需要处理对象数组并按预期格式化它。 此时如何格式化数组 var data = array.reduce((acc, value) => { acc[value.id] = acc[value.id] ? acc[value.id] : []; acc[value.id] ? acc[value.id].push(value.answer) : [value.answer]; return acc; }, {}) let result = Object.entr
var data = array.reduce((acc, value) => {
acc[value.id] = acc[value.id] ? acc[value.id] : [];
acc[value.id] ? acc[value.id].push(value.answer) : [value.answer];
return acc;
}, {})
let result = Object.entries(data).map(d => ({ id: d[0], data: d[1] }) );
当前对象数据
array = [
{
id: "1",
answer: "d"
},
{
id: "3",
answer: "a"
},
{
id: "3",
answer: "b"
},
{
id: "3",
answer: "c"
},
{
id: "4",
answer: "b"
},
{
id: "4",
answer: "c"
}
]
我想用javascript格式化
formatArray = [
{
id: "1",
answer: ["d"]
},
{
id: "2",
answer: []
},
{
id: "3",
answer: ["a","b","c"]
}
{
id: "4",
answer: ["b","c"]
}
]
我需要处理对象数组并按预期格式化它。
此时如何格式化数组?注意:这是一个对象数组-不是JSON(JSON是字符串)-提示:使用
array\reduce
method欢迎使用StackOverflow!到目前为止你试过什么吗?StackOverflow不是一个免费的代码编写服务,它希望您能够这样做。请更新您的问题,以显示您已经尝试过的内容,并显示您在某个问题中面临的具体问题。有关更多信息,请参阅,并以
var data = array.reduce((acc, value) => {
acc[value.id] = acc[value.id] ? acc[value.id] : [];
acc[value.id] ? acc[value.id].push(value.answer) : [value.answer];
return acc;
}, {})
let result = Object.entries(data).map(d => ({ id: d[0], data: d[1] }) );