Javascript 如何在Java脚本中用逗号拆分数组后显示其内容
我对Javascript相当陌生,在过去的几天里,我很快就学会了Javascript,我花了几个小时盯着我的代码,试图找出它为什么不能按我预期的方式工作,我想我会把它贴在这里 无论如何,我的问题是如何在逗号分割后显示数组的全部内容。我的代码如下。我的代码只打印出在提示下输入的最后一个数字集 非常感谢您的帮助Javascript 如何在Java脚本中用逗号拆分数组后显示其内容,javascript,arrays,output,comma,Javascript,Arrays,Output,Comma,我对Javascript相当陌生,在过去的几天里,我很快就学会了Javascript,我花了几个小时盯着我的代码,试图找出它为什么不能按我预期的方式工作,我想我会把它贴在这里 无论如何,我的问题是如何在逗号分割后显示数组的全部内容。我的代码如下。我的代码只打印出在提示下输入的最后一个数字集 非常感谢您的帮助 var gradeinfo = new Object(); { coursecode = new Array; grade = new Array; }; var ch
var gradeinfo = new Object(); {
coursecode = new Array;
grade = new Array;
};
var changer = function (y) {
finalgradeinfo = new Array;
finalgradeinfo = y;
function newresults() {
var i = 0;
finalgradeinfo[i] = y;
i + 1;
}
return finalgradeinfo;
}
do {
var entry = prompt("Enter a course code and grade seperated by a comma");
if (entry != null && entry != "") {
var counter;
var entryvalid = new Array;
entryvalid = entry.split(",");
changer(entryvalid);
x = true;
} else {
x = false;
}
} while (x != false);
console.log(finalgradeinfo);
我的函数需要包含闭包,因此如果它看起来完全错误,我会提前道歉。
Split已经创建了一个数组。因此,如果您输入1,2,3,当您拆分它时,会得到如下数组:[“1”、“2”、“3”]
。在for
循环中,您将从原始输入中获取字符,而不是从数组中获取字符。为了添加它们,您需要将输入更改为数字,因为它们被视为字符串。因此,您的for
循环应该如下所示:
for (i=0; i<3; i++)
{
entryArray[i] = parseFloat(entryArray[i]);
}
for(i=0;i在changer()
中,您在每次输入后都要销毁并重新创建数组。我建议将数组声明移动到全局范围中,这样您就可以在changer()
函数中将元素推送到它:
注:
- 将数组声明为[]比新数组更可取
- 不确定您是否知道,但是
newresults()
函数和gradeinfo
对象没有做任何事情
此外,计数器没有任何作用,x布尔值也没有必要,因为它基本上只是检查提示输入。下面是我的方法和步骤
你能格式化你的代码吗?你是否意识到当你在下一步将其他东西存储到变量中时,执行var entryvalid=new Array;
什么都不做。JavaScript没有类型化的变量。
var finalgradeinfo = [];
var changer = function (y) {
finalgradeinfo.push(y);
}
do {
var entry = prompt("Enter a course code and grade seperated by a comma");
if (entry != null && entry != "") {
var counter;
var entryvalid = entry.split(",");
changer(entryvalid);
x = true;
} else {
x = false;
}
} while (x != false);
console.log(finalgradeinfo);
var finalgradeinfo = { // declare finalgradeinfo in the global scope
coursecode: [],
grade: [] }
, entry = '';
do {
entry = prompt('Enter a course code and grade seperated by a comma') || ''; // will set entry to '' if user hits cancel
if (entry == '') continue; // break out of iteration if string is empty
var entryvalid = entry.split(",");
finalgradeinfo.coursecode.push(entryvalid[0]);
finalgradeinfo.grade.push(entryvalid[1]);
} while(entry !== '');
console.log(finalgradeinfo);