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

   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]);







js基础练习(四)的更多相关文章

  1. js基础教程四之无缝滚动

    前面学习了相关js的一些基础知识,这节主要针对定时器作综合运用: 无缝滚动-基础 效果演示: *物体运动基础 *让div移动起来 *offsetLeft的作用 *用定时器让物体连续移动 <sty ...

  2. Node.js基础学习四之注册功能

    前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上 ...

  3. Three.js基础探寻四——立方体、平面与球体

    前面简单介绍了webGL和Three.js的背景以及照相机的设定,接下来介绍一些Three.js中的几何形状. 1.立方体 虽然这一形状的名字叫立方体(CubeGeometry),但它其实是长方体,也 ...

  4. js基础第四天

    多个tab栏切换class封装 <style>         *{margin:0;padding:0;}         ul{list-style:none;}         .b ...

  5. [妙味JS基础]第四课:JS数据类型、类型转换

    知识点总结 JS数据类型:number数字(NaN).string字符串.boolean布尔值.函数类型.object对象(obj.[].{}.null).undefined未定义 typeof 用来 ...

  6. JS基础(四)之jQuery

    31.jQuery(http://jquery.com/)是一个快速.简洁的JavaScript框架. 它封装了JavaScript常用的功能代码,提供一种便捷的JavaScript设计模式,优化HT ...

  7. JS基础(四)运算符

    一.比较运算符 1.== : 判断两边值是否相等 2.>= : 判断左边的值是否大于或等于右边的值 3.<= : 判断左边边的值是否小于或等于右边的值 4.>   : 判断左边的值是 ...

  8. JS基础学习四:绑定事件

    添加事件 IE: attachEvent Other: addEventListener var button = document.getElementById("buttonId&quo ...

  9. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  10. Bootstrap<基础十四> 按钮下拉菜单

    使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...

随机推荐

  1. Java--Inheritance constructor继承中的构造方法问题(一)

    Java规定,一个父类可以同时拥有多个子类,但一个子类只能有一个父类,即单重继承,允许多层继承,即子类还可以有自己的子类,在下一层继承关系中原先的子类就变成了父类,这样的继承关系就形成了继承树. 子类 ...

  2. PID控制算法的c语言实现十二 模糊PID的参数整定

    这几天一直在考虑如何能够把这一节的内容说清楚,对于PID而言应用并没有多大难度,按照基本的算法设计思路和成熟的参数整定方法,就算是没有经过特殊训练和培训的人,也能够在较短的时间内容学会使用PID算法. ...

  3. 手脱JDPack

    1.PEID查壳 JDPack 2.载入OD,入口是一个pushad入栈,可以使用ESP,下硬件访问断点,shift+F9 0040E000 > pushad ; //入口 0040E001 E ...

  4. mysql命令修改登录用户密码

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:my ...

  5. 前端PHP入门-031-文件上传-六脉神剑

    php.ini的设置 php.ini的文件太多,找不到的时候你可以使用 Ctrl+F 搜索相关配置项. 配置项 功能说明 file_uploads on 为开启文件上传功能,off 为关闭 post_ ...

  6. 数学&搜索:博弈论之极大极小搜索与alpha-beta减枝

    目的是寻找最优的方案使得自己能够利益最大化. 基本思想就是假设自己(A)足够聪明,总是能选择最有利于自己的方案,而对手(B)同样足够聪明,总会选择最不利A的方案 对抗搜索就是对于先手来说,取后手中状态 ...

  7. Handlerbars基础笔记

    此笔记摘抄于杨元的博客(http://www.cnblogs.com/iyangyuan/archive/2013/12/12/3471227.html) 引入 <script type=&qu ...

  8. .NET面试题系列(二)GC

    序言 对象生存期 Phone item=new Phone() 在C#中,创建对象使用的是new关键字. 要注意的是new操作返回的并不是对象本身,而是对象的一个引用(Reference). 如果使用 ...

  9. 千里之行始于足下,node.js 资源中文导航

    响应@jiyinyiyong 号召,cnodjs 好的资源蛮多的,的确欠缺分类,在一群FAQ中,的确很容易沉下去,根据自己对node.js的理解,做成一个资源导航,PS:如果觉得合适,希望能够合并的c ...

  10. 【NOIP】普及组2010 三国游戏

    [算法]贪心 [题解]如果看重一对,先选择其中一个点,该点相邻最大的肯定被选走.所以答案就是最大的[所有点的次大连边点]啦. #include<cstdio> #include<al ...