在具有拆分功能的数组中推送数组

Push Array in Array with split function

本文关键字:数组 功能 拆分      更新时间:2023-10-24

我想知道为什么我同时有结果和未定义...

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,这让我发疯了所有的警报......主要是代码,而不是正确的代码...等。。。

这是

导致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