Javascript-按函数获取数组元素参数未定义/null

Javascript-按函数获取数组元素参数未定义/null,javascript,arrays,parameters,null,split,Javascript,Arrays,Parameters,Null,Split,我的函数获取的数组元素变量参数为空/未定义? 还是说都是关于分割函数的? 谢谢你们的帮助 错误: SCRIPT5007:无法获取未定义或空引用的属性“split” JavaScript代码: newData = "1,1,1,1,1/2,2,2,2,2|3,3,3,3,3/4,4,4,4,4"; var arrPage = newData.split('|'); arrRow = arrPage[0].split('/'); rowCount = arrPage[0].split('/').

我的函数获取的数组元素变量参数为空/未定义? 还是说都是关于分割函数的? 谢谢你们的帮助

错误:

SCRIPT5007:无法获取未定义或空引用的属性“split”

JavaScript代码:

newData = "1,1,1,1,1/2,2,2,2,2|3,3,3,3,3/4,4,4,4,4";

var arrPage = newData.split('|');

arrRow = arrPage[0].split('/');
rowCount = arrPage[0].split('/').length;    

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

var rData = arrPage[0].split("/");
a = rData[i];
renderTable(a);
}

function renderTable(rData) {

var cData = rData.split(',');

var c1 = cData[0];
var c2 = cData[1];
var c3 = cData[2];
var c4 = cData[3];
var c5 = cData[4];
var c6 = cData[5];
var c7 = cData[6];
var c8 = cData[7];
var c9 = cData[8];
var c10 = cData[9];
var c11 = cData[10];
var c12 = cData[11];
var rowData = "";

rowData =   "<tr>";
rowData +=  "<td>"+ c1 +"</td>";
rowData +=  "<td>"+ c2 +"</td>";
rowData +=  "<td>"+ c3 +"</td>";
rowData +=  "<td>"+ c4 +"</td>";
rowData +=  "<td>"+ c5 +"</td>";
rowData +=  "<td>"+ c6 +"</td>";
rowData +=  "<td>"+ c7 +"</td>";
rowData +=  "<td>"+ c8 +"</td>";
rowData +=  "<td>"+ c9 +"</td>";
rowData +=  "<td>"+ c10 +"</td>";
rowData +=  "<td>"+ c11 +"</td>";
rowData +=  "<td>"+ c12 +"</td>";
rowData +=  "</tr>";


$("#acquisitionStatusList tbody").append(rowData);
}
newData=“1,1,1,1/2,2,2,2 | 3,3,3,3/4,4,4,4”;
var arrPage=newData.split(“|”);
arrRow=arrPage[0]。拆分('/');
rowCount=arrPage[0]。拆分(“/”)。长度;

for(var i=0;i,因为错误消息明确指出
arrpage[0]
为空。您可以做的是在代码中使用数组之前检查数组

if (typeof array[index] !== 'undefined' && array[index] !== null) {
var rData = arrPage[0].split("/");
}
else
{
alert("empty");
}
我猜是这样的:

arrRow = "1,1,1,1,1/2,2,2,2,2";

arrRow = arrPage[0].split('/');
rowCount = arrPage[0].split('/').length;   
应该更像这样:

arrPage = "1,1,1,1,1/2,2,2,2,2";

arrRow = arrPage.split('/');
rowCount = arrPage.split('/').length;
那么arrRow将是:

["1,1,1,1,1", "2,2,2,2,2"]
行数为2

但是,正如它所写的,它没有太多的意义…关于你正在努力完成什么。让我知道,如果这让你更接近

编辑

这一行:

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

for(var i=0;i)在
arrPage[0]
中显然没有任何内容。这个问题的根源是
arrPage
的内容,您没有显示给我们。@Loktar实际上它在我的代码中有一个arrPage[0]值。但是作为问题的参考。我添加了一个变量。谢谢!@jfriend00抱歉,我再次编辑了。arrPage的值为[“1,1,1,1,1/2,2,2,2”]。在最新编辑中,我添加了缺少的代码以支持renderTable()函数的问题。谢谢!抱歉,我已更改了源代码。在以前的代码中,arrPage[0]已经有我项目中的数据。我想重点关注的是renderTable()函数。感谢您检查我的问题:)您好!谢谢您的回答。很抱歉,我没有把完整的代码放在清晰的参考中。现在我添加了变量来支持这个问题。谢谢!是的@jfriend00也已经找到了它,但这是您的for循环,您需要更改。我已经更改了for循环问题,但仍然发生错误。将数组元素作为函数上的参数?不,请告诉我您正试图使用该数组做什么,用词来说……就像您的用例一样,我将向您展示使其这样做的代码……类似于:获取该数组,按管道拆分新行,按/拆分列,等等……这是一个过程:获取数组并按|拆分以获取pag的数据e、 然后按/拆分数据以获取表行的数据。然后,按拆分,将在每个$(“table td”)上分发。感谢您的帮助!感谢您回答并观察我的代码@jfriend00我已经更新了参考代码,以便清楚地了解问题。我想重点关注的是Renderable()获取数组元素作为参数的函数。c1、c2、c3..都是有目的的。在获取一些数据后,它们中的每一个都有基于其值的条件。@codefish06-您是否理解为什么需要将
for
循环更改为
使用
感谢关于for循环的想法。我真的理解您对它的解释。但之后,我将源代码更改为使用'
for(var i = 0; i <= rowCount; i++){
for(var i = 0; i < rowCount; i++){