练习:
通过循环按行顺序为一个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

  1. var arr=[];
  2. for(var i=0;i<5;i++){
  3. var j=i*5+1;
  4. var k=5;
  5. arr[i] = new Array();
  6. while(k--){
  7. arr[i].push(j++);
  8.  
  9. }
  10. for(var x=i+1,z=0;x>0;x--,z++)
  11. document.write(arr[i][z]+" ");
  12. document.write("<br/>");
  13. }
  1. var a = [[],[],[],[],[]];
  2. for(var i=0; i<25; i++){
  3. a[parseInt(i/5)].push(i+1);
  4. }
  5. console.log(a);
  6.  
  7. for(var i=0; i<a.length; i++){
  8. for(var j=0; j<i+1; j++){
  9. document.write(a[i][j] + "\t");
  10. }
  11. document.write("<br>");
  12. }

定义一个含有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;
     }
}
  1. var arr=[];
  2. var arr_t=[];
  3. for(var i=2,j=0;j<30;i+=2,j++){
  4. arr.push(i);
  5. }
  6. console.log(arr);
  7. for(var k=0;k<arr.length-4;k++){
  8. arr_t[k]=0;
  9. for(var z=k;z-k<5;z++){
  10. arr_t[k]+=arr[z];
  11. }
  12. arr_t[k]/=5;
  13.  
  14. }
  15. 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);
                }
        }
}
  1. function join(arr,str){
  2. var res="";
  3. for(var i of arr){
  4. res+=i+str;
  5. }
  6. console.log(res.substring(0,res.length-1));
  7. }
  8. join([1,2,3],'%');


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


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

var list = [10000, 12000, 15000, 18000];
  1. function test(list){
  2. console.log(list);//[10000, 12000, 15000, 18000]
  3. for(var num in list)
  4. list[num]+=list[num]*0.3;
  5. console.log(list);// [10000, 12000, 15000, 18000]
  6. }
  7. test( [10000, 12000, 15000, 18000] );

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


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

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

  1. function norepeat(arr){
  2.  
  3. for(var i=0;i<arr.length;i++){
  4. for(var j=i+1;j<arr.length;j++){
  5. if(arr[i]==arr[j])
  6. arr.splice(j,1);
  7. }
  8. }
  9.  
  10. console.log(arr);
  11.  
  12. }
  13. 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. 安装cacti监控系统

    1 安装snmp [root@xxxx ~]# yum -y install net-snmp* 2 安装rddtool 3 创建数据库 cacti, 导入 cd xx/cacti/cacti.sql ...

  2. hihocoder[Offer收割]编程练习赛19 D 相交的铁路线(树上路径交)

    傻逼题... 裸的树上路径交 两条树上的路径$[a,b]$和$[c,d]$有交,则有$lca(a,b)$在$[c,d]$上或$lca(c,d)$在$[a,b]$上. 其实只要深度大的$lca$在另一条 ...

  3. NOIP2017 Day2 T2 宝藏(状压DP)

    $O(n*3^n)$好难想...还有好多没见过的操作 令$f[i][j]$表示最深深度为i,点的状态为j的最小代价,每次枚举状态$S$后,计算$S$的补集里的每个点与S里的点的最小连边代价,再$O(3 ...

  4. jar包下载地址(fasterxml.jackson)

    jar包下载地址(fasterxml.jackson) Home » com.fasterxml.jackson » core jar包下载地址 https://mvnrepository.com/a ...

  5. 保护程序猿滴眼睛---修改VS 2012 编辑器颜色

    转载于http://blog.csdn.net/qing666888/article/details/8973216 字体,发现好多人选用 Consolas  ...确实挺好看的. 然后 修改背景色: ...

  6. vs下给生成的程序(exe)加入默认的申请管理员权限

    在vs下编程时,经常会用到一些特殊的权限,尤其是管理员权限,下面是在win7下笔者亲测通过的. 下面要分两种情况: 第一种情况就是在vs2003或者以下的编译器中运行 1.准备一个manifest文件 ...

  7. 2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016) F dfs序+树状数组

    Performance ReviewEmployee performance reviews are a necessary evil in any company. In a performance ...

  8. TC规则

    633人阅读   TC规则涉及到 队列(QUEUE) 分类器(CLASS) 过滤器(FILTER),filter划分的标志位可用U32或iptables的set-mark来实现 ) 一般是" ...

  9. 使用无线网卡搭建虚拟wifi

    1.首先以管理员身份运行命令提示符 开始->搜索框输入cmd,出来的cmd.exe上右键管理员身份运行,或者win+R打开运行提示框,输入cmd并回车. 2.设置“虚拟Wifi网卡”模式 敲入命 ...

  10. numpy数组中冒号和负号的含义

    numpy数组中":"和"-"的意义 觉得有用的话,欢迎一起讨论相互学习~Follow Me 在实际使用numpy时,我们常常会使用numpy数组的-1维度和& ...