您的位置:首页 > Web前端 > JavaScript

js基础练习(四)

2017-08-10 14:14 393 查看
练习:

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

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

}


[align=justify]编写函数map(arr) 把数组中的每一位数字都增加30%[/align]

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]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: