首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.map()打印reactjs中每两个一组的值

使用.map()打印reactjs中每两个一组的值
EN

Stack Overflow用户
提问于 2021-04-13 20:40:54
回答 2查看 43关注 0票数 1

我正在尝试呈现一个将在一行中打印两个to值的<li>。然后第三个在下一个<li>中赋值。所以我的对象是这样的。

代码语言:javascript
复制
let obj = [ 
{from : 'a1' , to : 'a7'},
{from : 'b1' , to : 'b7',
{from : 'c4' , to : 'c27'},
{from : 'a1' , to : 'a9'},
{from : 'j1' , to : 'a10'}
]

我想像这样输出它

代码语言:javascript
复制
1. a7 , b7
2. c27, a9
3.  a10

The obj是一种react状态。我正在使用js中的.map()函数打印它。但我想把它打印成两张一张。我如何才能做到这一点。

代码语言:javascript
复制
moves.map((move, i) => {
                            return (
                                <li key={i}>{i}
                                    {move}
                                </li>
                            )
                        })
EN

回答 2

Stack Overflow用户

发布于 2021-04-13 20:53:19

首先,您必须按比例迭代您的obj变量。

代码语言:javascript
复制
const moves = [];

  for (let i = 0; i < obj.length; i += 2) {
    let move = obj[i].to;
    if (i + 1 < obj.length) {
      move += ", " + obj[i + 1].to;
    }
    moves.push(move);
  }

然后,您可以简单地迭代新创建的moves变量。

代码语言:javascript
复制
{moves.map((move, i) => {
        return (
          <p key={i}>
            {i + 1}. {move}
          </p>
        );
      })}

注意:你可以使用li而不是p标签。

结果:

CodeSandbox上的工作演示

票数 1
EN

Stack Overflow用户

发布于 2021-04-13 20:53:58

应该能够做一些类似的事情:

代码语言:javascript
复制
moves.map((move, i) => {
    return (
        <li key={i}>{i}
            {`move[i].to` + move[i+1] ? `, move[i+1].to` :''}
        </li>
    )
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67075077

复制
相关文章

相似问题

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