js基础练习(四)

2017-08-10

练习:
通过循环按行顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半三角。试编程。

1   2   3   4   5
6   7   8   9   10
11 12 13 14  15
16 17 18 19  20
21 22 23 24  25

		var arr=[];
		for(var i=0;i<5;i++){
			var j=i*5+1;
			var k=5;
			arr[i] = new Array();
			while(k--){
				arr[i].push(j++);
				
			}
			for(var x=i+1,z=0;x>0;x--,z++)
				document.write(arr[i][z]+" ");
			document.write("<br/>");
		}

			var a = [[],[],[],[],[]];
			for(var i=0; i<25; i++){
				a[parseInt(i/5)].push(i+1);
			}
			console.log(a);
			
			for(var i=0; i<a.length; i++){
				for(var j=0; j<i+1; j++){
					document.write(a[i][j] + "\t");
				}
				document.write("<br>");
			}


定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程。

var list = [];
for(var i=2; i<=100000; i+=2){
     if(list.push(i) == 30) break;
}
var newlist = [];
var count = 0;
var sum = 0;
for(var i in list){
     sum += list[i];
     if( ++count == 5){
          newlist.push(sum/5);
          count = sum = 0;
     }
}
			var arr=[];
			var arr_t=[];
			for(var i=2,j=0;j<30;i+=2,j++){
				arr.push(i);
			}
			console.log(arr);
			for(var k=0;k<arr.length-4;k++){
				arr_t[k]=0;
				for(var z=k;z-k<5;z++){
					arr_t[k]+=arr[z];
				}
				arr_t[k]/=5;
				
			
			}
			console.log(arr_t);


随机点名程序

var namelist = ["小明","小红","小刚","大宝"];

function randName(){
     return  namelist[parseInt(Math.random()*namelist.length)];
}


数字字母验证码

var list = ['1','2','3','4','5','6','7','8','9','0','a','b','c'];


请编写一个函数join,将数组的每一位按照指定字符链接起来 ,例如: join([1,2,3], "%"), 运行结果"1%2%3";

function join(arr, sp){
        var str = "";
        for(var i=0; i<arr.length; i++){
                if(i==(arr.length-1)){
                        str += arr[i];     
                } else {
                        str += (arr[i]+sp);
                }
        }
}
			function join(arr,str){
				var res="";
				for(var i of arr){
					res+=i+str;
				}
				console.log(res.substring(0,res.length-1));
			}
			join([1,2,3],'%');



随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么
			
			function test(){
				var str=""+parseInt(Math.random()*1000000);
				console.log("随机生成的数:"+str);
				
				for(var i in str)
					console.log("第 "+(Number(i)+1)+" 位是:"+str[i]);
					
			
			}



编写函数map(arr) 把数组中的每一位数字都增加30%

var list = [10000, 12000, 15000, 18000];
			function test(list){
				console.log(list);//[10000, 12000, 15000, 18000]
				for(var num in list)
					list[num]+=list[num]*0.3;
				console.log(list);// [10000, 12000, 15000, 18000]
			}
			test( [10000, 12000, 15000, 18000] );	


编写函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型
			function has(arr,num){
				for(var i of arr){
					if(i==num){
						console.log("数组中有 "+num+" 这个元素");
						return true;
					}
				}
				console.log("数组中没有 "+num+" 这个元素");
				return false;
			}
			has( [10000, 12000, 15000, 18000],10000 );	



编写函数norepeat(arr) 将数组的重复元素去掉,并返回新的数组

var list = [13, 14, 15, 13, 15, 20 ,80];

			function norepeat(arr){
			
				for(var i=0;i<arr.length;i++){
					for(var j=i+1;j<arr.length;j++){
						if(arr[i]==arr[j])
							arr.splice(j,1);
					}	
				}
				
				console.log(arr);
				
			}	
			norepeat( [13, 14, 15 , 20, 20 ,13 ,15, 13, 15, 20 ,80]);










注明:本文章属于转载,仅供行业人员学习交流使用,文章版权属于原创作者,在此向原创者致敬,感谢原创作者为大家学习交流提供精品内容。

站方声明:IThao123是为广大互联网从业者免费提供学习交流的平台,如果侵犯了原创著作权,请联系站方删除,给你带来不便,深表歉意。

顶部