![](/img/trans.png)
[英]Why doesn't Typescript infer return values correctly when possible return object types are specifically defined?
[英]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.