如何为使用reactjs提交数据的对象分配变量



我的目标是在提交数据时将变量分配给新对象。

以下是提交时出现的对象数组:

experience: [
{
Organisation: "",
ID: "",
From: "",
To: "",
Skills: []
},
{
Organisation: "",
ID: "",
From: "",
To: "",
Skills: []
}
]

但我想对象应该是这样的:

{
organisationName: "",
id: "",
from: "",
to: "",
skills: []
}

我已经这样做了,但输出没有适当地出现在这里。

handleSubmit = (e)=> {
e.preventDefault();
let obj = {
id: this.state.experience.map((item) => item.ID),
organisation: this.state.experience.map((item) => item.Organisation),
from: this.state.experience.map((item) => item.From),
to: this.state.experience.map((item) => item.To),
}
console.log("Object", obj)
}

有人能帮助我以正确的方式分配值吗?

使用Object.fromEntries映射条目并调用键上的toLowerCase会更容易:

const lowercaseKeys = obj => Object.fromEntries(
Object.entries(obj)
.map(([key, val]) => [key.toLowerCase(), val])
);
const obj = this.state.experience.map(lowercaseKeys);

如果您还需要用另一个密钥替换特定密钥,请使用.replace:

const lowercaseKeys = obj => Object.fromEntries(
Object.entries(obj)
.map(([key, val]) => [
key.toLowerCase().replace('organisation', 'organisationName'),
val
])
);
const obj = this.state.experience.map(lowercaseKeys);

最新更新