首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Javascript中动态包含基于条件的对象值?

如何在Javascript中动态包含基于条件的对象值?
EN

Stack Overflow用户
提问于 2020-10-14 23:46:13
回答 2查看 40关注 0票数 0

这是我的对象

代码语言:javascript
复制
{"seatName": seats[i].name,
             "fare": seats[i].fare,
             "passenger": [{
                  "name":"",
                  "gender": "",
               // "email":this.props.authStore.email,
               // "mobile": this.props.authStore.phone
             }]
           }

在这里,我需要包括

代码语言:javascript
复制
"email":this.props.authStore.email,
"mobile": this.props.authStore.phone

当(i === 0),而不是0时,对于其他,这些值不应包括在内!如何做到这一点?

我试过这样做:

代码语言:javascript
复制
(i === 0) ? "email": (i === 0) ? this.state.primaryUserEmail : "",

但是它抛出了错误!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-15 01:02:25

尝试使用以下命令:

代码语言:javascript
复制
...(i === 0 && {email: this.props.authStore.email}),

它将包括何时满足条件和何时不满足时删除!

票数 0
EN

Stack Overflow用户

发布于 2020-10-14 23:56:41

代码语言:javascript
复制
let data = {"seatName": "Joe",
             "fare": 12,
             "passenger": [{
                  "name":"",
                  "gender": "",
               // "email":this.props.authStore.email,
               // "mobile": this.props.authStore.phone
             }]
           }

/*
you can simply check if that passenger object has an email and mobile number and if they don't have you can then assign the number and email.


*/

if(!data.passenger[0]["email"]){
  data.passenger[0]["email"] = "test@email.com";
}

if(!data.passenger[0]["mobile"]){
  data.passenger[0]["mobile"] = 1234567890;
}

console.log(data)

/*
OUTPUT:
{
  seatName: 'Joe',
  fare: 12,
  passenger: [ { name: '', gender: '', email: "test.email.com", mobile: 1234567890 } ]
}
*/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64357005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档