我有一个这样的用户对象

user: {
name: "james",
contact: "3245234545",
email: "james@gmail.com"
}


我想这样显示

james, 3245234545, james@gmail.com


如果它是一个数组,我可以做join(','),但不幸的是它是一个对象。我目前的做法是这样的

{this.user &&
<div>
{this.user.name} ,{this.user.contact}, {this.user.email}
</div>
}


这会行得通,但并不完美,如果用户未填写联系人该怎么办?那么多余的,仍然存在。如果电子邮件是可选的,那么最后还会有一个额外的,

最佳答案

您可以使用Object.keys

{this.user &&
<div>
{Object.keys(this.user).map(key => this.user[key]).join(', ')}
</div>
}


也有Object.entries,但它没有很好的支持,因此您必须为此使用polyfill。

还要注意,对象键的顺序可能与您定义它们的顺序不完全相同,尽管大多数浏览器会保留该顺序,但您可能想使用Map代替。

07-24 18:39
查看更多