数组
JavaScript的数组可以保存不同类型的值。
如 :
var array = ['string',1,true,new Object()];
length
数组的length可以没有预定义长度,所以不会出现下标越界,
var array = [12]; document.writeln("length--"+array.length); array[array.length] = 1000; document.writeln(array[array.length - 1]); document.writeln(array.length); length的最大长度为2的32次方-1 》 4294967294
删除一个元素
var array = ['s',1,true,2,3,4]; delete array[1]; //s undefined true 2 3 4 数组本质是对象,所以可以使用delete删除元素, 但是它并没有把这个元素移除而是把这个元素的值delete掉用undefined填充 //array.splice(1,1); // s true 2 3 4 for(var i=0;i<array.length;i++) { document.writeln(array[i]); }
concat()
var a1 = [1,2,3]; var a2 = [4,5,6]; var a3 = a1.concat(a2,[7,8,9],[0]); for(var i=0;i<a3.length;i++) { document.writeln(a3[i]); } //1 2 3 4 5 6 7 8 9 0
join()
a3 = a3.join(","); for(var i=0;i<a3.length;i++) { document.writeln(a3[i]); } //1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0
sort()
var array = [8,6,'b',1,5,'c',7,'a',4]; // array.sort(); array.sort( function(a,b) { if(a === b) { return 0; } if(typeof a === typeof b) { return a < b ? -1 : 1; } return typeof a < typeof b ? -1 : 1; } ); for(var i=0;i<array.length;i++) { document.writeln(array[i]); }
splice() // 移除,替换某个元素
var array = [8,6,'b',1,5,'c',7,'a',4]; array.splice(1,3,"xxx","yyy","zzz");1 是从哪个index 开始移除,3是移除的个数,后面的参数对应移除的替换,如果3后面的参数小于移除的个数,则只移除不替换
slice() //拷贝元素
var array = [8,6,'b',1,5,'c',7,'a',4]; //array.splice(1,1,"xxx","yyy","zzz"); var temp = array.slice(3,5); // 从index3开始到index5结束 5是index不是个数 document.writeln(temp);
正则表达式 RegExp
exec(); test(); var reg = /^[0-9]*$/; //JavaScript的正则表达式 用/开始/结束 alert(reg.test(12)); alert(reg.exec(12));