簡體   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