我可以使用一些指导来在javascript中指定动态多维数组.我知道javascript本身并不是定义多个dim数组,而是一个数组的数组,即.
var items = [[1,2],[3,4],[5,6]];
Run Code Online (Sandbox Code Playgroud)
要么
var array = [[,],[,]]
Run Code Online (Sandbox Code Playgroud)
要么
var a = [[1,2],[3,4]]
Run Code Online (Sandbox Code Playgroud)
我的问题是我不知道实际的尺寸,只是定义数组,如上面的第二个例子,仍然不允许数组超出两个记录集.我以为有一个类似于VB的REDIM stmt但是找不到任何东西.
我的另一个问题是,当我指定数组的第二个维度时,如下例所示,数组在for块之外变得无法访问.
var Exforsys=new Array(4)
for (i=0; i <4; i++) {
Exforsys[i]=new Array(4)
}
Run Code Online (Sandbox Code Playgroud)
我试图从我的特定数组中检索数据,如...
function newTest() {
var myArray = [[],[]];
// myArray[] = new Array(14);
var recCount = coordsAry.length / 15;
var n =0;
var i = 0;
var s = 0;
for (i = 0; i < recCount; i++) {
for (s = 0; s < 15; s++) {
// myArray[i] = new Array(14);
myArray[i][s] = coordsAry[n];
n++;
// alert("i=" + i + " s=" + s + " Val: " + (myArray[i][s]));
}
// var u = 4;
s = 0;
alert(myArray[0][3]);
alert(myArray[0][4]);
alert("i=" + i + " s=" + s + " Val: " + (myArray[i][s]));
}
Run Code Online (Sandbox Code Playgroud)
coordsAry有105条记录并且是平的,{"12","Frank","564",......等已经证明了这一点.填充第二条记录后,我收到此错误....
Error: Unable to set value of the property '0': object is null or undefined.
Run Code Online (Sandbox Code Playgroud)
显然,我的javascript技能至少可以说有点粗糙.任何示例代码将不胜感激.
谢谢,
Mor*_*ler 17
您不要将数组调暗到实际大小,
您可以将任何索引上的变量设置为您想要的任何值
如果你想要两个Dimensions,你可以定义一个数组
var arr = []
将元素设置为另一个数组
arr[0] = []
并在"第二维"中的元素内放置一个值
arr[0][10] = 10
您只有"第一维"中的元素才是数组
您还可以执行将数组放入数组的操作
喜欢
var arr = []
var arr1 = [1,2,3]
arr[0] = arr1
console.log(arr[0][2]) //3
Run Code Online (Sandbox Code Playgroud)
如果你有一个数组并且想要在内部数组中推送元素,那么只需检查元素是否已定义,例如
var arr = []
for ( var i = 0; i < 5 ; i++) {
if(!arr[i])
arr[i] = []
for ( var j = 0; j < 3 ; j++)
arr[i][j] = i + " - " + j // Or like this,
//arr[i].push(i + " " + j) //
}
console.log( arr[2][3]) // 2 - 3
Run Code Online (Sandbox Code Playgroud)
function newTest() {
var myArray = [[],[]];
// myArray[] = new Array(14);
var recCount = 15
var n =0;
var i = 0;
var s = 0;
for (i = 0; i < recCount; i++) {
if(!myArray[i])
myArray[i] = []
for (s = 0; s < 15; s++) {
console.log(i)
// myArray[i] = new Array(14);
myArray[i][s] = s;
n++;
// alert("i=" + i + " s=" + s + " Val: " + (myArray[i][s]));
}
// var u = 4;
s = 0;
alert(myArray[0][3]);
alert(myArray[0][4]);
alert("i=" + i + " s=" + s + " Val: " + (myArray[i][s]));
}
}
newTest()
Run Code Online (Sandbox Code Playgroud)
这适合我