javascript - “数字”类型的参数不可分配给“字符串”类型的参数 - Typescript 和 Angular
问题描述
我有这个编码:
this.arrayTemp = [];
interface tempFull {
num: number;
name: string;
}
for (const key in group) {
let temp = {} as tempFull;
temp.num = parseInt(group[key].length / this.item);
temp.name = group[key][0];
if (temp.num >= 1){
this.arrayTemp.push(temp);
}
}
对象Group
是这样的:
{
red:[
"red",
"red",
"red",
],
blue:[
"blue",
"blue",
"blue",
"blue",
],
}
并且this.item
可以是任何数字
我遇到的问题是:
Argument of type 'number' is not assignable to parameter of type 'string'.
46 temp.num = parseInt(group[key].length / parseInt(this.item));
任何帮助....
解决方案
删除并用likeparseInt
替换它:Number
Number(group[key].length / this.item)
该parseInt()
函数解析一个字符串并返回一个整数。在您的情况下,您将整数作为参数,parseInt
这就是它给出错误的原因。
推荐阅读
- node.js - 以管理员身份运行节点 js 脚本
- c - 尝试更改clockintr中的proc字段时的内核陷阱
- sorting - 点火中的自定义实数
- flutter - 将图片从计算机加载到 Web 应用程序
- javascript - 在角度中获取元素的像素位置
- android - 如果从 Android 设备打开电子表格,则不会调用 GoogleScript > 可安装触发器 > onOpen(),为什么?
- c++ - 不清楚 ANSI CUB/CUF 行为
- ios - Youtube dl 不是用 python 2 执行的
- java - 如何为我的 RecyclerView 保存InstanceState?
- php - 抽象类中的抽象 __construct。声明必须兼容... PHP 的错误?