【发布时间】:2018-12-19 15:16:21
【问题描述】:
我在 JavaScript 中有一个对象数组,我想遍历这些对象并返回一些带有引导类的 JSX,这样每行总是在其中显示 2 列。
options: [
{
"letter":"A",
"text": "14 March 1879"
},
{
"letter":"B",
"text": "14 March 1897"
},
{
"letter":"C",
"text": "24 May 1879"
},
{
"letter":"D",
"text": "24 June 1879"
}
]
根据我使用其他语言和模板引擎的经验,这非常简单:您只需创建一个带有row 类的打开和关闭div 标签,然后使用您的模板引擎,循环并渲染每个标签对象,直到您的循环计数器为2,您动态地结束该角色并开始一个新角色。
类似这样的:
<div class="row">
for (var i in options) {
if(i%2 === 0) {
<!-- render object ... -->
</div><!-- then end this row -->
<div class="row"><!-- start new row -->
} else {
<!-- render object -->
}
}
</div>
我在我的 map 函数中尝试了这个方法,它给出了一个语法错误,因为在条件通过的情况下返回的值不是有效的 JSX。
感谢您的帮助。
编辑:
最后,我想要实现的是:
如果对象数组包含 2 个对象,我应该可以像这样动态显示它:
<div class="row">
<div class="col-md-6">
<div class="option correct-option">
A <!-- that is, option.letter -->
</div>
</div>
<div class="col-md-6">
<div class="option wrong-option">
B <!-- that is, option.letter -->
</div>
</div>
</div>
如果数组包含3个对象,我想实现这个:
<div class="row">
<div class="col-md-6">
<div class="option correct-option">
A <!-- that is, option.letter -->
</div>
</div>
<div class="col-md-6">
<div class="option wrong-option">
B <!-- that is, option.letter -->
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="option correct-option">
C <!-- that is, option.letter -->
</div>
</div>
</div>
【问题讨论】:
-
贴出你要实现的HTML
标签: javascript reactjs jsx map-function