测试1







答案:

1、B   

2、C 

3、  B D

 4、ABCD

5、C


6、


7、

10、

递归及函数调用本身,就可能形成递归,间接调用本身也是递归


<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>Document</title>  
	<script>
		
		
		
		/*
        //1.	编写一个map函数,map(a, 8); 实现功能为: 将数组a的每一个元素都加上8 
		
		(function map(a,num){
			console.log("原来的数组:"+a);  //打印初始数组
			for(var i in a)  //遍历数组
				a[i]+=num;	 //将数组中的每个元素+num
			console.log("处理后的数组: "+a);	 //输出处理后的数组
		
		})([1,2,3,4],8);	 // 传值,并自运行
		---------------- ---------------------------------------------------*/
		
		
		/*
		//2.	编写一个map函数,map(a, 8); 实现功能为: 将数组的每一个元素都加上8 ,并返回新的数组副本,同时确保原有数组不会被改变。
		
		function map(a,num){
			var copy_a=[];  //定义一个数组用来存储结果
			for(var i in a)  //遍历数组a
				copy_a.push(a[i]+num);  //将原数组的值加上num后存入新数组中
			return copy_a;   //返回新数组
		}
		var a=[1,2,3,4];
		console.log("新的数组副本: "+map(a,8));  //输出处理后的数组
		console.log("原来的数组: "+a);
		
		---------------- ---------------------------------------------------*/
		
		/*
		//3.	现有数组list = [{name:”王尼玛”, score: 87}, {name:”王大锤”, score:92}.........] ,长度为10,
		//      其中每个对象包含了学生的姓名及成绩,请求出所有学生的平均成绩,并按照成绩从低到高对数组进行排序。(数据自行补充)
		
		function Person(name,score){  //定义一个人员类,属性为姓名及成绩
			this.name=name;
			this.score=score;
		}
		var list=new Array();  //定义数组保存人员信息
		var avg_score=0;	   //用来存取平均分
		list.push(new Person("王尼玛",87));  //将人员信息存入数组
		list.push(new Person("王大锤",92));
		list.push(new Person("佐助",100));
		list.push(new Person("小樱",77));
		list.push(new Person("鸣人",55));
		list.push(new Person("雏田",87));
		list.push(new Person("小李",78));
		list.push(new Person("油女智乃",84));
		list.push(new Person("宁次",96));
		list.push(new Person("鹿丸",93));
		
		list.sort(function(x,y){ //自定义排序,按成绩从低到高排序
			return x.score-y.score;
		});
		for(var i in list){ //遍历数组,查看排序结果,并累加人员分数
			console.log("姓名: "+list[i].name+"  得分  "+list[i].score);
			avg_score+=list[i].score;
		}
		avg_score/=list.length; //累加分/人员数=平均分
		console.log("平均分为: "+avg_score);
		
		---------------- ---------------------------------------------------*/
		
		/*
		//4.如果有一个二维数组var a = [1,2,[3,4,5],6,[7,8],9]; 请使用循环或者递归的形式将数组中的元素,按照1~9的顺序打印出来。
		var a = [1,2,[3,4,5],6,[7,8],9];
		
		
		//方法一:递归
		function print(arr){  //定义打印函数,应用递归
			if(!isNaN(arr))		//当arr为数字时结束递归并输出
				console.log(arr);
			else{				//即当arr不为数字,此例中为数组
				for(var i in arr)	//遍历并递归
					print(arr[i]);
			}

		}
		print(a);
		
		
		
		
		
		//方法二:循环
		function print2(arr){
			for(var i in arr){
				if(!(arr[i] instanceof Array))   //当arr[i]不是数组时,即输出当前数
					console.log(arr[i]);
				else{
					for(var j in arr[i])	//遍历arr[i]
						console.log(arr[i][j]);
				}
				
			}
		}
		print2(a);
		
		---------------- ---------------------------------------------------*/
		
		/*
		
		//5.现有数组 var a = [1,2], var b = [3],编写函数merge(arr1, arr2),合并数组a和b,并返回合并后的新数组。不允许使用concat方法
		var a = [1,2];
		var b = [3];
		function merge(arr1,arr2){
			var new_arr=[];		//定义新数组,保存结果
			new_arr=arr1.slice(0,arr1.length);//使用slice函数返回arr1的所有元素,并且不破坏arr1原有的元素
			for(var i of arr2)		// 遍历数组arr2,将其中元素添加到new_arr中
				new_arr.push(i);
				
			return new_arr;
		}
		console.log(merge(a,b));
		
		
		---------------- ---------------------------------------------------*/
		
		








		
		
		
		
	</script>
    
</head>  
<body>  
   
      
</body>  
</html>  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值