我将数组向后存储在一个字符串中,但它总是有一个未定义的'在里面。我不知道它的来源。以下是我的表现:
var jump = ['j', 'u', 'n', 'i', 'p', 'e', 'r'];
var rev;
var i = jump.length - 1;
while (i >= 0) {
rev += jump[i];
document.writeln(i.toString() + jump[i]);
i--;
}
alert(rev.toString());

我使用pop()
和reverse()
尝试了此操作,我仍然获得了undefined
。
答案 0 :(得分:2)
由于JS是动态类型的,因此它不知道rev
应该是一个字符串,因此在用值初始化它之前它将保持未定义状态。像这样初始化rev
:
var rev = "";
var jump = ['j', 'u', 'n', 'i', 'p', 'e', 'r'];
var rev = "";
var i = jump.length - 1;
while (i >= 0) {
rev += jump[i];
document.writeln(i.toString() + jump[i]);
i--;
}
alert(rev.toString());
答案 1 :(得分:1)
使用空字符串初始化rev
像
var rev="";
var jump = ['j', 'u', 'n', 'i', 'p','e','r'];
var rev="";
var i = jump.length - 1;
while (i >= 0) {
rev += jump[i];
document.writeln(i.toString()+ jump[i]);
i--;
}
alert(rev.toString());
答案 2 :(得分:0)
var jump = ['j', 'u', 'n', 'i', 'p','e','r'];
var rev = [];
var i = jump.length - 1;
while (i >= 0) {
rev += jump[i];
document.writeln(i.toString()+ jump[i]);
i--;
}
alert(rev.toString());
答案 3 :(得分:0)
此代码具有相同的结果:
const jump = ['j', 'u', 'n', 'i', 'p','e','r'];
jump.forEach((e, i)=>document.writeln(""+i+e));
alert(jump.join(""));
或:
const jump = ['j', 'u', 'n', 'i', 'p','e','r'];
let rev = ""
jump.forEach(function(e, s){
rev += e;
document.writeln(""+s+e);
})
alert(rev);
与商店。