我正在使用一个数组来存储一些其他数组,并通过在末尾添加“fin”来分隔每个存储的数组。
真正困扰我的是:当我显示JavaScript认为这个数组的长度时,它表示数组有603个元素,而实际上该数组包含大约90个元素。 :-(
请求的代码如下:
// Declare the array
var arrForAllData = new Array();
// Concatenate all the arrays to build the 'arrForAllData' array
arrForAllData = arrApplicationData + ",fin," + arrCmdbIds + ",fin," + arrBaAvail + ",fin," + arrAppStatus + ",fin," + arrMaxAchieve + ",fin," + arrBreaches + ",fin," + arrMTTR + ",fin," + arrMTBF + ",fin," + arrMTBSI + ",fin," + arrCleanDays + ",fin," + arrHistBaAvail + ",fin," + arrHistBreaches + ",fin," + arrHistDuration;
我正在使用“fin”作为每个数组的分隔符,因为我之后需要重建这些数组,以便避免在重新创建大部分数据时进行API调用。
// Example array
arrApplicationData contains
Downstream,CIM,Eserve,FPS,Global,GSAP
// Display the data in the arrForAllData
alert("arrForAllData contains " + arrForAllData );
这个提示显示了数组中所有元素,按照我期望的方式,用逗号分隔。
// Calculate the length of the array
var adlen = arrForAllData.length;
alert("Number of elements in arrForAllData is " + adlen );
这个警告显示'adlen'为603,而下面我会解释这是所有单个字符的计数。
由于某种原因,'array.length'正在计算每个单个字符。
有人遇到过这种情况吗?如果有,有没有办法解决?
提前感谢您的时间。
string.length
获取字符串长度并获得单个字符。但是,没有代码,我无法指导你正确的方向。 - Ron van der Heijdenvar arrForAllData = []; arrForAllData.push(arrApplicationData); arrForAllData.push(arrCmdbIds );
等等。请忘记那个疯狂的'fin'想法!(并阅读我发布的链接中有关数组的内容) - UpTheCreek