将数据循环到对象javascript中并返回值



我试图将数据循环到空对象中,但在我控制台后发现了数据。log数据只返回一个对象,有人能告诉我哪里做错了吗?

const data_warehouse = forms.map((item) => {
item.answer.map((data) => {
let data_fix = {};
Object.keys(data.answers).map((key) => {
return (data_fix = {
[key.replace(/ /g, "_").toLowerCase()]: data.answers[key],
});
});
console.log(data_fix);
});
});

这是mongoDB:的数据

"forms": [
{
"_id": "Quality",
"title": "Quality",
"answer": [
{
"username": "Jansenstan24@gmail.coms",
"date": "2022-10-25",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"Text": "john@dose.com",
"Email": "john@nabatisnack.com",
"Plant": "Cica"
}
},
{
"username": "adam@wegodev.com",
"date": "2022-10-25",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"Email": "john@dose.coms",
"Plant": "Ranca",
"Text Doang": "12"
}
},
{
"username": "jansenstan24@gmail.com",
"date": "2022-10-31",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"Text": "john@nabatisnack.com",
"Email": "john@dose.com",
"Plant": "Cica"
}
}
]
}
]

我试图重新设计球场上的关键&;答案";将所有特殊字符改为下划线,但在我将其循环到映射函数后,它只返回一个数据:

{ plant: 'Cica' }
{ text_doang: '12' }
{ plant: 'Cica' }

我的预期结果应该是这样的,它将返回相同的格式,但只清除字段"上键的特殊字符;答案":

[
{
"_id": "Quality",
"title": "Quality",
"answer": [
{
"username": "Jansenstan24@gmail.coms",
"date": "2022-10-25",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"text": "john@dose.com",
"email": "john@nabatisnack.com",
"plant": "Cica"
}
},
{
"username": "adam@wegodev.com",
"date": "2022-10-25",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"email": "john@dose.coms",
"plant": "Ranca",
"text_doang": "12"
}
},...etc]

尝试这个

var forms=[
{
"_id": "Quality",
"title": "Quality",
"answer": [
{
"username": "Jansenstan24@gmail.coms",
"date": "2022-10-25",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"Text": "john@dose.com",
"Email": "john@nabatisnack.com",
"Plant": "Cica"
}
},
{
"username": "adam@wegodev.com",
"date": "2022-10-25",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"Email": "john@dose.coms",
"Plant": "Ranca",
"Text Doang": "12"
}
},
{
"username": "jansenstan24@gmail.com",
"date": "2022-10-31",
"formId": "6357921d49de88bb7fffcfe4",
"answers": {
"Text": "john@nabatisnack.com",
"Email": "john@dose.com",
"Plant": "Cica"
}
}
]
}
]
var newData=  forms.map((item) => {
var mappedAns=item.answer.map((data) => {
let data_fix = {};
Object.keys(data.answers).forEach((key) => {
data_fix[key.replace(/ /g, "_").toLowerCase()]= data.answers[key];
});
return {...data,answers:data_fix};
});
return {...item,answer:mappedAns}
});

console.log(newData);

最新更新