将带有Array of Object的Javascript对象提交到API中

jso*_*PPD 1 javascript arrays json object axios

今天是个好日子,

我需要一个关于如何提交一个包含对象数组的对象的帮助,对象数组应该来自我制作的复选框.

这是我的示例复选框

<input type="checkbox" name="user.preferences" value="Hard" />
<input type="checkbox" name="user.preferences" value="Soft" />
<input type="checkbox" name="user.preferences" value="Small" />
Run Code Online (Sandbox Code Playgroud)

我的数据javascript看起来像这样:

user:{ 
    preferences: [] 
}
Run Code Online (Sandbox Code Playgroud)

当我提醒user使用时JSON.stringify,我能够看到类似这样的结果.

{"preferences": ["Soft","Small"]}
Run Code Online (Sandbox Code Playgroud)

但问题是,我使用的api需要这样的格式:

{
    "preferences": [
     {
         "preference": "Hard"
     },
     {
         "preference": "Soft"
     },
     // so on and so forth
    ]
}
Run Code Online (Sandbox Code Playgroud)

请有人帮帮我 谢谢

Cer*_*nce 6

您应该将.map每个字符串输入preferences到一个对象中,preference并将其作为键/值:

const user = {
  "preferences": ["Soft", "Small"]
};
user.preferences = user.preferences
  .map(preference => ({ preference }));
console.log(user);
Run Code Online (Sandbox Code Playgroud)

  • 反过来说:`.map({preference})=> preference)` (2认同)