奇怪的jQuery多类型锯齿状数组 [英] jquery multitype Jagged array behaving strangely

查看:67
本文介绍了奇怪的jQuery多类型锯齿状数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请参考:

http://jsfiddle.net/MasterOfKitties/v7xbu/7/

/*This is the desired behavior*/
/*var A = [1, 2, 3]*/
/*var B = "hello", [1, 2, 3],
         "hello", [2, 3, 2],
         "hello", [1, 5, 1]]*/

var A = new Array();
var B = new Array();

function fnMakeArray()
    {
     var strTemp;
     var arrTemp = new Array();
     strTemp = parseInt(window.prompt("Enter a number until you hit cancel",""));  


  while (strTemp>0)
      {
         arrTemp.push(strTemp);   
         strTemp =  parseInt(window.prompt("Enter a number until you hit cancel",""));
      }  
        A[0] = "hello";
        A[1] = arrTemp;
        alert(A);
    }


function fnReplicateArray()
    {
        B.push(A); 
        fnDisBArray();
        alert(B);

    }

function fnDisBArray()
{
    var strTemp;
 for(var x = 0; x<B.length;x++)
     {
         strTemp += "<P>" + B[x] + "</p>"

     }
     document.getElementById('parse').innerHTML = strTemp ;  


}

由于某种原因,当试图显示B数组时,它显示为undefined.此外,即使b [1]或b [2]元素被排列,b [0]元素也开始发生根本变化,似乎并不能正确地增加锯齿状数组.

For some reason, when attempting to display the B array, it puts out undefined. Furthermore, it does not seem to increment the jagged array correctly, as the b[0] element begins to radically change even though the b[1] or b[2] element is being arranged.

有帮助吗?发生了什么事?

Any assistance? What's going on?

推荐答案

您必须使用值初始化strTemp.

喜欢

var strTemp = "";

代替

var strTemp;

根据您的情况.

排队时

 strTemp += "<P>" + B[x] + "</p>"

第一次执行strTempundefined 因此将其转换为字符串undefined并将其附加在开头

is executing for the first time strTemp is undefined so its converted to string as undefined and gets appended in the begining

请参见工作小提琴

这篇关于奇怪的jQuery多类型锯齿状数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆