Javascript 如何为react映射每两个元素?

Javascript 如何为react映射每两个元素?,javascript,arrays,reactjs,react-bootstrap,Javascript,Arrays,Reactjs,React Bootstrap,假设我有一个如下所示的数组: const array = [0, 1, 2, 3, 4, 5, 6, 7] 我试图做的是对.map函数中的每2个对象进行迭代,但在我的渲染中它需要像这样(请注意,我使用的是React Bootstrap): 数组[0] 数组[1] 数组[2] 数组[3] 等等 因此,对于每2个对象,它需要有自己的行,然后在关闭一行并启动新行(如果有更多元素)之前渲染这2个对象 实现这一目标的最佳方法是什么?简短回答 转换模型,然后在视图中注入 详细答案 您需要根据需要将阵列

假设我有一个如下所示的数组:

const array = [0, 1, 2, 3, 4, 5, 6, 7]
我试图做的是对.map函数中的每2个对象进行迭代,但在我的渲染中它需要像这样(请注意,我使用的是React Bootstrap):


数组[0]
数组[1]
数组[2]
数组[3]
等等

因此,对于每2个对象,它需要有自己的行,然后在关闭一行并启动新行(如果有更多元素)之前渲染这2个对象

实现这一目标的最佳方法是什么?

简短回答 转换模型,然后在视图中注入

详细答案 您需要根据需要将阵列转换为矩阵:

常量数组=[0,1,2,3,4,5,6,7] const rows=array.reduce(函数(行、键、索引){ 返回(索引%2==0?行。推送([键]) :rows[rows.length-1]。按(键))&&rows; }, []);
console.log(行)我不知道为什么会重新打开它。而且是重复的。您需要创建一个由较小块和贴图组成的二维数组it@adiga我已经在那里核对了答案。。它们不像我想象的那样优雅。如果您建议将我的答案移到那里并关闭此答案,请让我知道。@AbdennourTOUMI我想您可以保留它。公认的答案实际上是错误的。另一个更有希望:谢谢你@adiga。我爱你的贡献这看起来正是我需要的!不过我只是想弄明白。索引%2==0意味着什么?@AndrewBautista它正在将数组创建为一个2D数组,内部数组中有2个项目。如果它太让人困惑,你可以使用这个问题的任何答案:@AndrewBautista,那么你问的是“索引%2==0”。。实际上,我们想把每两个连续的元素组合在一起。。。这意味着,如果当前迭代在(索引=0),(索引=0)和(索引=1)中,则将分组在一起。。但是,下一次迭代将把我们放入(index=1),而(index=1)已经处理过。。所以我们需要跳过它。。通常,我们需要跳过迭代(1,3,5。。它们之间的共同点是(索引%2==1)。知道了!跳过(索引%2==1)意味着我们需要(索引%2==0),并且X%2没有其他值。顺便说一句,X%Y是X除以Y的其余部分。
<Row>
<Col>array[0]</Col>
<Col>array[1]</Col>
</Row>


<Row>
<Col>array[2]</Col>
<Col>array[3]</Col>
</Row>