求助:vbscript中的二维数组如何转到JavaScript二维数组

来源:百度知道 编辑:UC知道 时间:2024/06/22 06:12:47
如何把vbscript中的二维数组如何转到JavaScript二维数组,
我写的代码如下:
dim ArrayPro()
redim ArrayPro(46,8)
sql="select * from ["&TablePrefix&"ExamProInfTable] order by id asc"
set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
i=0
do while not rs.eof
ArrayPro(i,0)=rs("ProNO")
ArrayPro(i,1)=rs("WelderType")
ArrayPro(i,2)=rs("SpecimenType")
ArrayPro(i,3)=rs("ConnectorType")
ArrayPro(i,4)=rs("GrooveType")
ArrayPro(i,5)=rs("SpecimenDiameter")
ArrayPro(i,6)=rs("SpecimenThickness")
ArrayPro(i,7)=rs("WeldPosition")
i=i+1
rs.movenext
loop
rs.close
set rs=nothing

<script language="javascript">

var pp=new Array();
for( i=0 ;i<46;i++){
pp=new Array;
for( n=0;n<8;i++){
pp[n]=<%=

逻辑不对:
<script language="javascript">

var pp=new Array();
for( i=0 ;i<46;i++){
pp=new Array;
for( n=0;n<8;i++){
pp[n]=<%=ArrayPro(i,n)%>;
}
}
</script>

内层循环又把pp用新array覆盖了一遍;你是只想拷贝ArrayPro[45][0-7]么?如果想拷贝全部ArrayPro,那至少应该这样:
<script language="javascript">

var pp=new Array();
for( i=0 ;i<46;i++){
pp[i]=new Array();
for( n=0;n<8;i++){
pp[i][n]="<%=ArrayPro(i,n)%>";
}
}
</script>

注意"<%=ArrayPro(i,n)%>",我加了个双引号,如果不行你换单引号试试,给js赋值,引号还是需要的,不加的话它会认为你是写的变量名而不是某个值,当然如果<%=ArrayPro(i,n)%>的输出你确定是个数字,那么不加引号也可以。

JavaScript中toArray函数方法是返回一个由 VBArray 转换而来的标准 JScript 数组。使用方法:

safeArray.toArray( )

safeArray是必选项 是一个 VBArray 对象。

该转换将多维的 VBArray 翻译成一个一维的 JScript 数组。每个后续维被添加到前一维的结尾。例如,一个三维的且每一维有三个元素的 VBArray 将被转换为如下所示的 JScript 数组:假定该 VBArray 包含:(1