我有三个数组,
let averageReport: any = [1, 2, 3, 4, 5]
let maleData: Array<any> = [];
let femaleData: Array<any> = [];
我遍历平均报告并将值推送到maleData和femaleData。我将数组类型声明为任何类型,但仍然是打字稿,但抱怨“类型为“数字”的参数不能分配给类型为“字符串”的参数” 有类似的问题具有与此相同的问题标题,但这与这些问题不同。
这是code on stackblitz
代码
ngOnInit() {
let averageReport: any = [1, 2, 3, 4, 5]
let maleData: Array<any> = [];
let femaleData: Array<any> = [];
let dateNow = new Date();
let startDate = new Date(dateNow.getTime() - 20000);
averageReport
.map(
x => {
if (x === 1) {
femaleData.push(
{
x: parseInt(startDate.getTime() / 1000), // here is the propblem
y: x.result
})
}
if (x === 2) {
maleData.push(
{
x: parseInt(startDate.getTime() / 1000),
y: x.result
})
}
}
)
}
答案 0 :(得分:1)
尝试一下: 我将“数组”更改为“ any []”,将.map更改为for-of,并将parseInt更改为Math.round
ngOnInit() {
let averageReport: any = [1, 2, 3, 4, 5]
let maleData: any[] = [];
let femaleData: any[] = [];
let dateNow = new Date();
let startDate = new Date(dateNow.getTime() - 20000);
for(let report of averageReport) {
if (report === 1) {
femaleData.push(
{
x: Math.round(startDate.getTime() / 1000), // here is the propblem
y: report.result
})
}
if (report === 2) {
maleData.push(
{
x: Math.round(startDate.getTime() / 1000),
y: report.result
})
}
}
}