【发布时间】:2021-12-21 18:28:12
【问题描述】:
我目前正在尝试将字符串简化为数字 [],但我是 typescript 的新手,根本不知道如何键入我的代码,以便 typescript 编译器停止抱怨...
我想做什么:
matString.split(/[\n ]/).reduce((acc, cur, index) => acc[index] = Number(cur));
到目前为止,我已经尝试过这样输入,但它不起作用:(
matString.split(/[\n ]/).reduce((acc: Array<number>, cur, index) => acc[index] = Number(cur)) as Array<number>;
仅出于上下文考虑,此代码正在接收字符串格式的矩阵,我想将其转换为数组以便我可以使用它。我已经在不同的情况下遇到了这个问题并且不得不解决它,但是这次我想了解如何解决它。
另外,如果它确实有助于更好地解释我的问题,这里是我的代码图片和编译器的错误:code image with error
【问题讨论】:
-
首先,您缺少初始值。如果数组为空,
reduce应该返回什么? -
请记住,如果不将数字转换回字符串,则无法将其拆分为数字。您链接到的练习没有提到类型,只是您应该能够将字符串中的每个字符作为矩阵的元素访问,所以也许要关注数组的 shape 开始.
标签: javascript arrays string typescript reduce