傳統的ASP:如何VB腳本數組轉換爲JavaScript數組傳統的ASP
sub a
aryaa(0,0)=1
aryaa(0,1)=2
end
如何調用該數組中的腳本功能,以及如何使這個VBScript中數組的JavaScript陣列。
請幫我解決這個問題,因爲3天我在找這個。
謝謝。
傳統的ASP:如何VB腳本數組轉換爲JavaScript數組傳統的ASP
sub a
aryaa(0,0)=1
aryaa(0,1)=2
end
如何調用該數組中的腳本功能,以及如何使這個VBScript中數組的JavaScript陣列。
請幫我解決這個問題,因爲3天我在找這個。
謝謝。
假設MY VBScript的陣列是aryATTPlans比下面的代碼描述(VBScript的數組Javascript數組)
// this is client JS code
var aryATTPlans = new Array();
var aryATTPlans = new Array(2);
var i, j;
<%
' this is server VBS code
If IsArray(aryATTPlans) Then
j=0
For i = 0 to ubound(aryATTPlans)
%>
aryATTPlans[<%= i %>] = new Array(2);
aryATTPlans[<%= i %>][<%= j %>] = <%= aryATTPlans(i, j) %>;
<%
Next // i
End If
%>
它的工作非常好,我用它。 :) –
在Javascript中,您沒有本機Matrix對象類型。但你可以使用對象或數組,如:
<script type="text/javascript">
var aryaa = [ [1, 2] ];
// aryaa[0][0] = 1
// aryaa[0][1] = 2
</script>
我希望你覺得這個有用。無論如何請檢查MDN documentation。
下面的函數將多維VB安全陣列轉換成一個多維JavaScript數組。
function VBtoJSArray(vba) {
var vbarray = new VBArray(vba);
var d = vbarray.dimensions();
var dims = [];
var base = [];
var params = [];
for (var i=1; i <= d; i++) {
dims.push(vbarray.ubound(i)-vbarray.lbound(i) + 1);
base.push(vbarray.lbound(i));
params.push(vbarray.lbound(i));
}
return convertArray(new Array(dims[0]), 0);
function convertArray(ax, index) {
for (var i=0; i < dims[index]; i++) {
params[index] = i + base[index];
if (index == dims.length-1) {
ax[i] = VBArray.prototype.getItem.apply(vbarray, params);
}
else {
ax[i] = new Array(dims[index+1]);
convertArray(ax[i], index+1);
}
}
return ax;
}
}
您是否有任何可以發佈的代碼。你會得到一個更有意義的答案,然後 – griegs
請發佈你試過的東西。或者至少發佈你的vbScript數組代碼。 –
...並且你已經閱讀過javascript數組了嗎?一個地方開始:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array – mg1075