数组的常用方法

<script type="text/javascript">
		var strArr = new Array("wen",1,2,"true");
//		alert(strArr.length);
		//直接给数组的长度赋值,会改变数组的长度
//		var ln = strArr.length = 2;
		//修改数组的值
		strArr[0] = "feng";
		//在数组中添加元素,其他语言下表越界都会进行报错,而js不会
		strArr[2] = "wang";
//		alert(strArr);
		//indexOf找到元素的位置
		/*strArr.indexOf("true");
		alert(strArr.indexOf("true"));  //3
		alert(strArr.indexOf(1));   //1
		alert(strArr.indexOf(5));   //由于数组中并没有5,所以显示为-1
		*/
		
		/*slice截取数组部分元素并赋值一个新的数组 
		1.slice(索引1,索引2)从索引1开始到索引2前结束(不包括索引2)赋值给新的数组
		2.slice(索引3)从索引3开始一直到最后
		3.slice()如果slice里没有参数,就将得到原来的数组,相当于一个数组的复制。
		*/
		/*var arr = new Array("A","B","C","D","E","F","G");
		var firstArr =  arr.slice(0,3);  //A,B,C
		alert(firstArr);
		var secondArr = arr.slice(4);    //E,F,G
		alert(secondArr);
		var thirdArr = arr.slice();
		alert(thirdArr);  //A,B,C,D,E,F,G */
		
		//数组序列push和pop
		var arr = new Array("A","B","C","D","E","F","G");
		//push,在数组中添加元素,每一次都是从原数组的最后一个元素之后添加新的若干元素到数组
		arr.push("H");   //A,B,C,D,E,F,G,H
		alert(arr);
		arr.push("H","J");   //A,B,C,D,E,F,G,H,J
		//pop,从数组中移除元素,每一次都是从数组的最后一个元素进行移除
		arr.pop();
//		alert(arr);   //A,B,C,D,E,F,G
		//一个空的数组适应pop方法时,不会出错,什么也不返回;
		var arr1 = new Array("1");
//		alert(arr1);  //1
		arr1.pop();
		arr1.pop();
//		alert(arr1);  //什么也没有
		//unshif,和push一样是往数组里添加若干元素,不同的是unshift是从数组的第一个元素之前添加元素到数组
		arr.unshift("X","Y","Z"); //X,Y,Z,A,B,C,D,E,F,G,H
//		alert(arr);
		//shif,和pop一样是从数组中移除数据,shif是从第一个元素开始移除
		arr.shift();   //Y,Z,A,B,C,D,E,F,G,H
//		alert(arr);
		/*
		 shift和unshift一起组合形成了先进先出(FIFO)序列
		 push和pop一起组合成了后进先出序列
		 */
		
		//sort(),sort()可以改变数组元素的索引位置。
		arr.sort();  //A,B,C,D,E,F,G,H,H,Y,Z
//		alert(arr);
		
		//reverse(),就是将数组元素反过来显示,第一个显示在最后一个,最后一个显示在第一个
		arr.reverse();
		alert(arr);  //Z,Y,H,H,G,F,E,D,C,B,A
		console.log(arr);
		
		/*splice(),是修改数组的万能方法。
		1.splice(2,3,"xie","wen","ting") //从索引2开始删除3个元素,并添加3个元素
		2.arr.splice(1,2);只删除不添加
		3.arr.splice(2,0,"wang");不删除,从索引2开始添加元素
		*/
		arr.splice(2,3,"xie","wen","ting");   //Z,Y,xie,wen,ting,F,E,D,C,B,A
//		alert(arr);
		arr.splice(1,2);   //Z,wen,ting,F,E,D,C,B,A
//		alert(arr);
		arr.splice(2,0,"wang");   //Z,wen,wang,ting,F,E,D,C,B,A
//		alert(arr);
		
		//连接两个字符串
		var arr2 = new Array("q","w");  //Z,wen,wang,ting,F,E,D,C,B,A,q,w
		var a = arr.concat(arr2);
//		alert(a);
		
		//join()把当前的字符串用指定的字符连接起来,再重新赋给一个变量
		var b = arr.join("-");   //Z-wen-wang-ting-F-E-D-C-B-A
//		alert(b);

		//如何获取5的索引
		var arr5 = [[1,2,3],[4,5,6],"="];
		var x = arr5[1].indexOf(5);
		alert(x);
		
		//数组排序后显示欢迎xxx、xxx和xxx同学
		var welcom = "欢迎";
		var students = ["小明","小花","小兰","小红"];
		students.splice(3,1,"和小红");
		var a = students.join("、");	
		welcom = a + "同学!!";
		alert(welcom);
		
		/*for(var i = 0; i <= students.length; i++){
			if(i == students.length-2){
				welcom = welcom + students[i] + "和";
				continue;
			}
			if(i == students.length){
				welcom = welcom + "同学";
				break;
			}
			welcom = welcom + students[i] + ",";
//			alert(welcom);
		}*/
		
	</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值