Array.push导致程序出错
Array.push causes program to have errors
我遵循了上一个问题中的建议,获得了向数组添加值的提示,但这导致我的程序在没有True值的情况下抛出True值。
HIGHEST_GRADE = 7;
LOWEST_GRADE = 0;
var course = new Array();
var grade = new Array();
while(confirm("Would you like to add a course?")){
course.push( prompt("Enter the course code. Example - ABC1234") );
};
var upperTest = course.slice(0,3);
var integerTest = course.slice(4,7);
if (course.length !== 7) {
alert ('Invalid Course Code');
}
if (upperTest !== upperTest.toUpperCase()) {
alert ('Invalid Course Code');
}
if (isNaN(integerTest)) {
alert('Invalid Course Code');
}
if (isNaN(grade)) {
alert('Invalid Grade');
}
if (LOWEST_GRADE > grade || HIGHEST_GRADE < grade) {
alert('Invalid Grade');
}
我已经设置好了,以确保输入的文本符合条件,但由于添加了.push,整个东西都塞了。
我收到一个"无效课程代码"错误,有什么问题。
Array
用于存储多个课程,这很好。但是,由于它是一个数组,您需要访问它的每个位置,以使用循环验证每个单独的课程:
var courses = new Array(); // use the name courses instead, to indicate that it's a collection
for (var i = 0; i < courses.length; i++) {
var course = courses[i];
var upperTest = course.slice(0,3);
var integerTest = course.slice(4,7);
if (course.length !== 7) {
alert ('Invalid Course Code');
}
if (upperTest !== upperTest.toUpperCase()) {
alert ('Invalid Course Code');
}
if (isNaN(integerTest)) {
alert('Invalid Course Code');
}
}
这将验证Array
中的每个course
。否则,当您测试courses.length
时,您将验证数组中的元素数,而不是每个课程的字符数。
对于grades
阵列也需要执行同样的操作。
是否要验证输入的课程代码?在这种情况下,你需要对项目而不是整个数组进行操作:
while (confirm("...")) {
var courseCode = prompt("...");
var upperTest = course.slice(0,3);
var integerTest = course.slice(4,7);
if (courseCode.length !== 7) {
alert ('Invalid Course Code');
continue;
}
// place your other if's here
courses.push(courseCode);
}
相关文章:
- Array.push导致程序出错
- 尝试使用HtmlUnit分析成员应用程序时出错
- 若语句出错,谷歌应用程序脚本
- 尝试在移动优先应用程序中从 SQL 数据库获取数据时出错
- 呈现react引导程序组件时出错
- AngularJS/Protactor:使用角种子基本应用程序运行量角器时出错
- 尝试在Meteor中添加程序包时出错
- 在一个移动Markt中上传应用程序时出错
- setHours()从电子表格导入的日期创建谷歌日历事件时出错-应用程序脚本
- 有角度的“;未知提供者”;在约曼应用程序中使用Grunt Build缩小后出错
- 将数据插入数据库express/mongodb应用程序时出错
- 谷歌应用程序脚本:;范围不是函数,它是对象;尝试在单元格中放置注释时出错
- "未定义“角度”;在Liferay中存储的角度应用程序上执行Protractor测试时出错
- "执行处理程序'的子请求时出错;System.Web.UI.Page'"同时使用JQu
- 尝试将数组从内容脚本发送到弹出脚本时出现 Chrome 扩展程序时出错
- 将数据从 ASP.Net 4.5 发布到 ASP.Net 2.0 Web 应用程序时出错
- 尝试在 Chrome 扩展程序中使用 SignalR 连接到中心时出错
- GLSL程序出错-WebGL
- Google Maps API,InfoWindow domready事件处理程序出错
- PHP jQuery "无终止字符串"onclick处理程序出错