繁体   English   中英

为什么 map 使用两次时 typescript (tsx) 不返回 html?

[英]Why typescript (tsx) doesn't return html when map is using twice?

我使用这种方法制作了带有块的数组:

  const newArray: Array<Array<any>> = [];

  for (let i = 0; i < codeData?.length; i++) {
    if (i % 3 === 1) {
      newArray.push([codeData[i - 1], codeData[i], codeData[i + 1]].filter(el => el !== undefined));
    }

  }

但是当我尝试 map 它两次它不会返回HTML ,但是当我将最后一个 map 的值设置到控制台时,它会返回我需要的内容:

                 {newArray
                ?.slice(
                  page * rowsPerPage,
                  page * rowsPerPage + rowsPerPage
                )
                ?.map((arr: any) => {
                  arr
                    .filter((element) => element !== undefined)
                    .map((row: any) => {
                      return (
                        <TableRow
                          role="checkbox"
                          key={row.id}
                          className={classes.row}
                        >
                          {row.id}
                        </TableRow>
                      );
                    });
                })}

我想这是因为 typescript,据我所知,有这个动态 - []但是当我使用 map 两次它有 - [[]]

任何人都可以帮助我吗?

map返回一个数组,如果你嵌套它们,你也会得到嵌套的 arrays。

如果您将第一个map更改为flatMap ,它会将结果折叠成单个数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM