【问题标题】:loop data into object javascript and returning the value将数据循环到对象 javascript 中并返回值
【发布时间】:2022-11-01 11:39:38
【问题描述】:

我尝试将数据循环到空对象中,但结果是我控制台后的数据。记录数据只返回一个对象,有人能告诉我我在哪里做错了吗

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"
                    }
                }
            ]
        }
    ]

我尝试重新设计字段“答案”上的键以将所有特殊字符更改为下划线,但在我将其循环到 map 函数后它只返回一个数据:

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

我的预期结果应该是这样的,它会返回相同的格式,但只会从字段“answers”的键中清除特殊字符:

 [
        {
            "_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]

【问题讨论】:

    标签: javascript


    【解决方案1】:

    尝试这个

    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);
          

    【讨论】:

    • 能给我解释一下逻辑吗?...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 2017-05-07
    • 2021-12-21
    • 2016-10-24
    • 2014-01-11
    • 2016-05-29
    • 1970-01-01
    相关资源
    最近更新 更多