这是我保存在 localStorage 中的 JSON:
{
"calculatorInfo":{
"gender":"F",
"name":"test",
"surname":"test"
},
"contactInfo":{
"email":"fvreferf@gmail.com",
"phone":"568553353"
},
"underageChildInfo":[
{
"gender":"F",
"name":"test1",
"surname":"test2"
},
{
"gender":"F",
"name":"test3",
"surname":"test"
}
]
}
我正在获取这些数据并将其保存到我的对象中,如下所示: 但是当我尝试保存我的数组时,它显示未定义。
如何在这个对象中保存我的数组?
personalInfo: any;
this.data = JSON.parse(localStorage.getItem('policy'));
get info(): any {
return this.personalInfo = {
personalInfoId: 0,
insurerInfo: {
firstName: this.data.calculatorInfo.name,
lastName : this.data.calculatorInfo.surname,
email: this.data.contactInfo.email
},
legalHeir:true,
underageChildInfo: [
{
firstName: this.data.underageChildInfo.name
}
]
}
}
答案 0 :(得分:1)
代替
underageChildInfo: [
{
firstName: this.data.underageChildInfo.name
}
]
你可以这样做:
underageChildInfo: this.data.underageChildInfo
如果您只想返回名称
underageChildInfo: this.data.underageChildInfo.map(i => ({ firstName: i.name }))
我希望这有效..没有测试过!
答案 1 :(得分:1)
错误在这里
npx jetify
将 underageChildInfo: [
{
firstName: this.data.underageChildInfo.name
}
]
从 firstName
映射到 this.data.underageChildInfo
:
underageChildInfo
答案 2 :(得分:1)
代码中专门针对此代码段的问题
underageChildInfo: [
{
firstName: this.data.underageChildInfo.name
}
]
所以如果这个 sniipt 我建议用下面的代码块替换它:
underageChildInfo:this.data.underageChildInfo.map((item) => {
return { firstName: item.name };
})