Javascript(一)-20-(JS函数_练习2)



【练习2】
完成对数组的如下操作:
3.查找;
4.反转。


【代码】


<html>
<head>
</head>


<body>
	<script type="text/javascript">
	
	//3.1一般查找
	function searchElement(arr,key){
	
		for(var x=0;x<arr.length;x++){
		
			if(arr[x]==key)
				return x;
		
		}
		
		return -1;
		
	}
	
	//3.2折半查找(前提:被查找的数组必须是有序的)
	function binarySearch(arr,key){
	
		var min,max,mid;
		min=0;
		max=arr.length-1;
		
		while(min<max){
		
			mid=(min+max)>>2;//位运算效率高
			
			if(key>arr[mid])
				min=mid+1;
			else if(key<arr[mid])
				max=mid-1;
			else
				return mid;
		
		}
		
		return -1;
	
	}
	
	//4.反转
	function reverseArr(arr){
	
		for(var start=0,end=arr.length-1;start<end;start++,end--){
		
			swap(arr,start,end);
			
		}
	
	}
	
	//交换数组元素
	function swap(arr,x,y){
		
		var temp = arr[x];
		arr[x] = arr[y];
		arr[y] = temp;
	
	}
	
	var arr = [1,2,3,4,5,6,7,8];
	
	var keyNum = searchElement(arr,3);
	document.write("keyNum="+keyNum+"<br/>");
	
	var keyNum1 = binarySearch(arr,3);
	document.write("keyNum1="+keyNum1+"<br/>");
	
	document.write("反转前:"+arr+"<br/>");
	reverseArr(arr);
	document.write("反转后:"+arr+"<br/>");
	
	</script>
</body>
</html>






【注】可以将这两个视频内容封装成一个js文件,那么后期如果需要对数组操作,直接导入js文件,直接用这些方法即可




【运行结果】


keyNum=2
keyNum1=2
反转前:1,2,3,4,5,6,7,8
反转后:8,7,6,5,4,3,2,1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值