• 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));
  • 相关阅读:
    thymeleaf 模板使用 之 解决因HTML标签未闭合引起的错误
    Spring MVC 拦截器
    Spring boot data jpa 示例
    Hibernate 数据库方言
    Springboot 之 静态资源路径配置
    Java 时间不一致
    IntelliJ IDEA 2017.3.2 热加载(Hot Swap)
    IntelliJ IDEA Spring boot devtools 实现热部署
    Python-集合
    Python-文件读写及修改
  • 原文地址:https://www.cnblogs.com/Huskie-/p/12834449.html
Copyright © 2020-2023  润新知