我正在使用一个数组来存储许多其他数组,并通过在末尾添加“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”正在计算每个单独的字符。
以前有没有人遇到过这个问题,如果有,有没有办法解决它?
在此先感谢您的时间。