javascript数组常用方法解析

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		
		
		<script type="text/javascript" charset="UTF-8">
		
		
			var arr = [1,2,3,true,'hello',new Date()];
			for(var i in arr){
				console.log(i,arr[i]);//i是数组下标
			}
			console.log(arr.length);
			arr.length = 5; //重新设置长度相当于截取,(操作数组本身)
			console.log(arr);
		
		/**
		 * pop  和   push   方法
		 */
			 var arr1 = ["false"];
			 var result = arr1.push("true",1,2,3);//向数组中添加元素,返回新数组的长度(操作数组本身)
			 console.log(result);
			 console.log(arr1);
			 console.log(arr1.pop());//从尾部移除一个元素(操作数组本身)
			
			
		 /**
		  * shift 和 unshift  方法
		  */
			 var arr2 = ['a','b','c','d'];
			 var a = arr2.shift();//从头部移除一个元素,返回被移除的元素(操作数组本身)
			 console.log(a);
			 console.log(arr2);
			 var result = arr2.unshift('e','f');//从头部添加一个或多个元素,返回新数组的长度(操作数组本身)
			 console.log(arr2);
			 console.log(result);
			 
			 
		/**
		 * splice 和slice 方法(截取数组)
		 * 
		 *  	splice ---操作数组本身
		 * 		slice  ---不操作数组本身
		 * 
		  * splice:第一个参数:起始位置
		  * 	          第二个参数:截取的个数
		  *        第三个参数以及后面的参数:追加的新元素 	
		  */
			 var arr3 = [1,2,3,4,5];
			 arr3.splice(1,2,3,4,5);
			 console.log(arr3);
			 var arr4 = [6,7,8,9,10];
			 var temp1 = arr4.slice(2,4);//截取范围(左闭右开区间)返回一个新的数组(不操作数组本身)
			 console.log(temp1); //[8,9]
			 console.log(arr4);
			 
			 
		 /**
		  * concat 和 join 方法
		  */
			  var arr5 = [1,2,3,4];
			  var arr6 = [5,6,7,8];
			  var arr7 = arr5.concat(arr6);//连接数组,(不操作数组本身)
			  console.log(arr5);// [1, 2, 3, 4]
			  console.log(arr6);// [5, 6, 7, 8]
			  console.log(arr7);// [1, 2, 3, 4, 5, 6, 7, 8]
				 //join()返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,
				 // 然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。
			  var arr8 = arr7.join('-');//在每个元素间添加所传参数
			  console.log(arr8);//1-2-3-4-5-6-7-8
			 
		/**
		 * sort 和 reverse 方法(操作数组本身)
		 */
		var arr9 = [1,4,2,7,5,10];
		console.log(arr9.sort());//按照字符串排序[1, 10, 2, 4, 5, 7]
		console.log(arr9);         //[1, 10, 2, 4, 5, 7]
		console.log(arr9.reverse());//倒置数组   [7, 5, 4, 2, 10, 1]
		console.log(arr9);         // [7, 5, 4, 2, 10, 1]
		
		/**
		 * 自定义排序函数
		 */
		function compare(value1,value2) {
		  if(value1 <value2){
		  	return -1;
		  }else if(value1>value2){
		  	return 1;
		  }else{
		  	return 0;
		  }
		}
		arr9.sort(compare);
		console.log(arr9); //[1, 2, 4, 5, 7, 10]
		
		</script>
	</head>
	<body>
	</body>
</html>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。