gpt4 book ai didi

javascript - 算术运算的左侧必须是类型 'any' 、 'number' 或枚举类型。无法将 Number 声明为数字

转载 作者:行者123 更新时间:2023-11-28 17:12:10 25 4
gpt4 key购买 nike

我有一个对象数组

student = [{
rollNo: Number,
name: String,
dateOfJoining: Number
}];

现在我尝试使用此代码对函数内的数组进行排序。

students(){
for( let item of res.data){
this.event.push({
name: item.name,
rollNo: item.rollNO,
date: item.joining,
});
}
this.student.sort((val1, val2) => {return val2.dateOfJoining - val1.dateOfJoining});
}

但我收到错误“算术运算的左侧必须是‘any’、‘number’或枚举类型类型。”我知道这是因为我的 dateOfJoining 是“Number”而不是“number”。

但我不能将其写为“数字”,因为这样我会收到错误““数字”仅指类型,但在这里被用作值。”

最佳答案

Number 是 JavaScript 数字类型的构造函数。这不是您想要的值。

interface Student {
rollNo: number;
name: string;
dateOfJoining: number;
}

student: Student[] = [{
...
}];

请注意,这需要 student 的默认值,但空数组也可以使用,例如

student = Student[] = [];
student.push({ rollNo: 1, name: 'Andrew', dateOfJoining: 2 });

此时,您必须在 student 中填写实际值,该值应该是数字和字符串。

关于javascript - 算术运算的左侧必须是类型 'any' 、 'number' 或枚举类型。无法将 Number 声明为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54148540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com