![](/img/trans.png)
[英]Getting TypeError: Cannot read property 'localeCompare' of undefined for my sortBy function in my React component and I'm not sure why
[英]Not sure why I'm getting this TypeError
我正在使用类和对象在 javascript 中创建内容列表(我对编程很陌生)。 现在,我认为我有这个权利,但出于某种原因,它抛出了一个
“未捕获的类型错误:courseList.calculateValue 不是 assignment.js:27 处的函数”
无法弄清楚为什么这不起作用。 请帮忙! 这是我的代码:
您有一个带有嵌套数组课程的对象 courseList,它实际上包含 Course 类的对象。
courseList 没有这个方法,因为它们是在 Course 类中定义的。 要执行此方法,您需要执行 courseList.courses[0].calculateValue() 和 courseList.courses[1].calculateValue()
看起来您是在一个不是Course
对象的对象上调用calculateValue()
。
在您的情况下,您需要执行courseList.courses[0].calculateValue()
来计算第一门课程的价值。 同样,您可以通过更改索引来为其他课程执行此操作。
更长的解释
courseList
(严重命名)是一个属性称为对象courses
。
这个属性有一个值,它是一个Course
对象列表。 因此,为了在这些对象上调用Course
类中的方法,您需要首先访问courseList
course
属性的值,然后使用诸如courseList.courses[1]
类的索引从列表中选择一门课程来访问它们
courseList.courses[1]
现在是一个Course
对象,因此您可以在其上调用calculateValue()
和printSummary()
边注
您在第 28 行的console.log()
语句不会打印您的结果(即使您进行了上述修复),因为printSummary
不返回任何内容。 您根本不需要调用console.log()
,因为printSummary
处理其中的打印
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.