在开始我的问题之前,我要说的是,我是JavaScript入门课程的软件工程初学者。我有一个关于JavaScript课程的作业的问题。
任务如下:“创建一个名为nameSplit.html的文件,该文件使用一个prompt()调用从用户那里获取全名--名、中名和姓。然后,将输入拆分成一个数组,并使用循环在单独的行上输出每个名字。为了获得完整的分数,您必须使用循环,而不是将数组重新连接到字符串中。”
我的问题是,当我将拆分字符串写入页面时,它在单独的行上多次写入拆分字符串,这不是我想要的。我想要的是字符串分开,并且每个部分都在单独的行上。
这是我的代码。
var fullName = prompt("Please enter your full name: first, middle (if you have one), and last name.", "Full Middle Last");
function nameSplit(name) {
var nameAfterSplit = name.split(" ");
for (i = 0; i < nameAfterSplit.length; i++) {
document.write(nameAfterSplit + "<br />");
}
}
nameSplit(fullName);
有人能帮我吗?
发布于 2018-10-22 06:12:57
String.split生成一个数组,然后在循环中打印整个数组。必须使用索引i来选择特定的数组元素。更改为:document.write(nameAfterSplit[i] + "<br />");
发布于 2018-10-22 06:13:03
您应该输出包含拆分部分的数组的i
-th元素:使用nameAfterSplit[i]
而不是nameAfterSplit
发布于 2018-10-22 06:14:17
仔细看看你打印的是什么。当你正确地split()你的字符串时,当你打印它时,你打印的不只是每一段,而是整个拆分字符串。当split返回一个数组时,您需要做的是在每次循环迭代中针对每个单独的元素。
var fullName = prompt("Please enter your full name: first, middle (if you have one), and last name.", "Full Middle Last");
function nameSplit(name){
var nameAfterSplit = name.split(" ");
for(i = 0; i < nameAfterSplit.length; i++){
document.write(nameAfterSplit[i] + "<br />");
}
}
nameSplit(fullName);
https://stackoverflow.com/questions/52920347
复制相似问题