JavaScript中没有多维数组,只有一维数组。因为数组成员的类型是任意,所以,可以对每一个数组成员再赋给它一个数组的方式来解决。数组的基数从0开始。
array = new Array() //定义一个数组。其元素个数为0 array = new Array(n) //定义一个数组。其元素个数为n array = new Array(e1, e2, ...) //定义一个数组,对其每个元素赋上初值 //注:JavaScript中数组元素的个数可以任意增加
xx = new Array(); //xx的长度是0 xx[0] = "January"; //xx的长度变为1 xx[1] = "February"; //xx的长度变为2 xx[11] = "December"; //xx的长度变为12
yy = new Array("January", "February", null, null, null, null, null, null, null, null, null, "December"); //结果与上例相同
xx = new Array(); xx["Jan"] = "January"; xx["Feb"] = "February"; xx["Dec"] = "December";
xx = new Array(3); //结果: for (i = 0; i < xx.length; i++) { //xx[0][0]=0 xx[1][0]=10 xx[2][0]=20 xx[i] = new Array(4); //xx[0][1]=1 xx[1][1]=11 xx[2][1]=21 for (j = 0; j < xx[i].length; j++) { //xx[0][2]=2 xx[1][2]=12 xx[2][2]=22 xx[i][j] = i * 10 + j; //xx[0][3]=3 xx[1][3]=13 xx[2][3]=23 } // } // -------------------------------------------------------------------------------------- //以下是九九乘法表的例子 xx = new Array(9); for (i = 0; i < xx.length; i++) { xx[i] = new Array(i+1); for (j = 0; j < i+1; j++) { xx[i][j] = (i+1) * (j+1); } }
array.length
yy = new Array("Sun", "Mon", "Thu"); len = yy.length; //len的值为: 3
array.concat(array2, ...) //两个数组的连接
xx = new Array("Sun", "Mon", "Tue", "Wed"); yy = new Array("Thu", "Fri", "Sat"); zz = xx.concat(yy); //zz的值: "Sun", ...., "Sat"
array.join([separator]) //用分隔符将数组个元素连接起来
xx = new Array("2004", "12", "07"); yy = xx.join("/"); // yy的值: "2004/12/07"
array.sort(); //按升序排序 array.reverse(); //按降序排序
xx = new Array(9,1,7,3); xx.sort(); //xx的结果是: 1,3,7,9 xx.reverse(); //xx的结果是: 9,7,3,1
array.sort([func]); //这是一个让人笑掉大牙的排序
function sortMethod(a, b) { //先定义一个函数,函数名任意起名 return a - b; //参数必须2个,参数名任意起名 } //数组内部比较时根据return值来决定 //其它资料说:“正数:升序 0:不排序 负数:降序” --错误的说法 //“参数1-参数2:升序 0:不排序 参数2-参数1:降序” --正确的说法 xx = new Array(9,1,7,3); xx.sort(sortMethod); //xx的结果是: 1,3,7,9 //将上面改成: return b-a; //xx的结果是: 9,7,3,1 //将上面改成: return b-b; //xx的结果是: 9,1,7,3
array.slice(start [, end]) //start到end的子集,end没有则到最后
xx = new Array("A", "B", "C", "D""E", "F", "G"); xx.slice(3); //xx的结果: "D", "E", "F", "G" xx.slice(1,3); //xx的结果: "B", "C", "D"序列化
array.toString() //所有的类几乎都有toString方法。
xx = new Array("A", "B", "C", "D", "E", "F", "G"); xx.toString(); //xx的结果: "A, B, C, D, E, F, G"