我有一个对象数组
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'仅指一种类型,但在此处被用作值。”
答案 0 :(得分:3)
Number
是JavaScript数字类型的构造函数。这不是您想要的值。
interface Student {
rollNo: number;
name: string;
dateOfJoining: number;
}
student: Student[] = [{
...
}];
请注意,这将需要student
的默认值,但是空数组也将起作用,例如
student = Student[] = [];
student.push({ rollNo: 1, name: 'Andrew', dateOfJoining: 2 });
这时,您将必须用数字和字符串的实际值填写student
。