我是JavaScript的新手,我正在尝试使用while语句编写一个简单的函数来打印数组元素,但最后我得到了一个额外的未定义值。任何帮助将受到高度赞赏
代码是:
var a = [1, 3, 6, 78, 87];
function printArray(a) {
if (a.length == 0) {
document.write("the array is empty");
} else {
var i = 0;
do {
document.write("the " + i + "element of the array is " + a[i] + "</br>");
}
while (++i < a.length);
}
}
document.write(printArray(a) + "</br>");
,输出为:
the 0element of the array is 1
the 1element of the array is 3
the 2element of the array is 6
the 3element of the array is 78
the 4element of the array is 87
undefined
我如何获得未定义的值?我跳过任何索引吗?提前谢谢!
答案 0 :(得分:3)
发生这种情况的原因是因为您的printArray
函数未返回任何值,这意味着它实际上正在返回undefined
您可以通过两种方式解决此问题:
document.write(printArray(a) + "</br>");
更改为printArray(a);document.write("<br/>")
] document.write
并保留其他代码建议采用第二种方法,并注意不建议使用document.write
,尝试设置document.body.innerHTML
或类似的内容
建议您阅读这些内容以供将来参考:
答案 1 :(得分:0)
var a = [1, 3, 6, 78, 87];
function myFunction() {
var i = 0;
while (i < a.length) {
document.write("the " + i + "element of the array is " + a[i] + "</br>");
i++;
}
}