JavaScript关于数组的一些基础问题

题目

1、定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。试编程
var arr = new Array(30);
    var n = 2;
    var newArr = [];
    var sum = 0;
    for(var i=0;i<arr.length;i++)
    {
        arr[i] = n;
        n += 2;
        if( (i+1) % 5 != 0){
            sum += arr[i]; 
        }else{
            sum += arr[i];
            newArr.push(sum/5);
            sum = 0;
        }
    }
    console.log(arr);
    console.log(newArr);

2、编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组

function map(arr){
        var newArr = [];
        for(var i=0;i<arr.length;i++)
        {
            arr[i] += arr[i]*0.3;
        }
        return arr;
    }
    var newArr = [100,200,300,400,500];
    console.log(map(newArr));

3、有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

 function fn(num,arr){    
        for(var i=0;i<arr.length;i++)
        {
            if(arr[i] >= num){
                arr.splice(i,0,num);
                break;
            }
        }
        //比最后一个大时,直接插到最后面
        if(num >= arr[arr.length-1]){
            arr.push(num);
        }
        return arr;
    }
    var arr = [1,2,3,5,6,7];
    console.log(fn(4,arr));

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

var n = 1;
    var arr1 = [];
    for(var i=0;i<5;i++)
    {
        var arr2 = [];
        for(var j=0;j<5;j++)
        {
            arr2.push(n);
            n++;
        }
        arr1.push(arr2);
    }
    // document.write(arr1);
    for(var i=0;i<5;i++)
    {
        for(var j=0;j<=i;j++)
        {
            document.write(arr1[i][j]+"&nbsp;&nbsp;&nbsp;&nbsp;")
        }
        document.write("<br>");
    }

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

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);
                }
            }
        }
        return arr;
    }
    var arr = [1,2,3,4,4,8,52,1,4,2,1];
    console.log(norepeat(arr));

 

posted on 2020-05-06 09:28  Huskie!  阅读(253)  评论(0编辑  收藏  举报