将数组向后存储在字符串中

时间:2016-04-10 06:29:39

标签: javascript html

我将数组向后存储在一个字符串中,但它总是有一个未定义的'在里面。我不知道它的来源。以下是我的表现:



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

4 个答案:

答案 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);

与商店。