使用拆分功能在阵列中推送阵列

时间:2015-02-14 09:11:32

标签: javascript arrays function split push

我想知道为什么我在同一时间得到结果并且未定义......

var arrayFrases = [];
var numeroCasos;
var arrayFrasesCambiadas = [];


    function alCargar(){
        numeroCasos = parseInt(prompt("Ingrese cuantos casos desea probar"));       
        document.write("<h2>Casos:</h2>");

    for(var i=0;i<numeroCasos;i++){

        document.write((i +1) + '<input id="caso'+ (i +1) +'" name="nCasos" type="text"> <br>');
        }       
        document.write('<button onclick="voltear()">Voltear</button><br>');
    }

    function voltear(){
        document.write("<h2>Casos al revés: </h2>");
        for(var i=0;i<numeroCasos;i++){ 
            arrayFrases.push(document.getElementById("caso"+(i+1)).value);
            var cadenaSeparada=[];                  
            cadenaSeparada.push(arrayFrases[i].split(" "));
            alert(cadenaSeparada[0]);
            alert(cadenaSeparada[1]);
            document.write("Caso # "+ (i+1) + '<label id="cambiarCaso'+ (i +1) + '" name="cambiarCasos" type="text">' +  cadenaSeparada[i] + '</label><br>');

             }

        } 

HTML

<button onclick="alCargar()">Ejercicio 1</button>

为什么我有未定义......我怎么能解决这个问题......

很抱歉,为了解释我说西班牙语ajajaj我第一次问什么,它让我疯狂所有的警报......主要是代码,不正确的代码......等等......

1 个答案:

答案 0 :(得分:0)

这是导致undefined问题的代码部分:

cadenaSeparada[i]

InumeroCasos的索引,而不是cadenaSeparada的索引。

所以一个有效的解决方案是:

for (var j = 0; j < cadenaSeparada.length; j++) {
  //MOSTRAR CADENA EN LABEL DE CASOS
  document.write("Caso # " + (i + 1) + '<label id="cambiarCaso' + (i + 1) + '" name="cambiarCasos" type="text">' + cadenaSeparada[j] + '</label><br>');
}

我做了一个有效的例子:http://plnkr.co/edit/r7tpjpIdKlEkBpujPNyC?p=preview