js作业-猜数字,数组存斐波那契数列的前十项,定义函数返回时间,倒序输出数组中所有能被3整除的数

目录

1.猜数字小游戏[1~100]

2.定义一个数组,存入斐波那契数列的前十项

3、定义函数,参数是 三个数字,年、月、日;返回值是这一天是这一年的第几天

4. 倒序输出数组中所有能被3整除的数字

5.计算数组中所有能被5整除的数字的乘积。

  6、定义函数

         para1:数字数组;

         para2:数字;

         返回值:该数字在数字数组中出现的次数。

 7、定义函数(数组筛选)

         返回值: 数组中所有以该数字为约数的元素构成的新数组。

  10、定义函数

        para1:数字数组;

        返回值:新数组;


1.猜数字小游戏[1~100]

  function test() {
            var num = prompt("输入一个数字") * 1;
            var randomNum = Math.floor(Math.random() * 10);
            if (num === randomNum) {
                alert("猜中了");
            } else {
                alert("错误的")
            }
        }

2.定义一个数组,存入斐波那契数列的前十项

            f(n) = f(n - 1) + f(n - 2)

     array[n] = array[n - 1] + array[n - 2];


        function fb(n) {
            var arr = [1, 1];
            for (var i = 0; i < n - 2; i++) {
                arr[i + 2] = arr[i] + arr[i + 1];
            }
            return arr;
        }
        console.log(fb(10));// [ 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ]
function fb(n) {
            var arr = [1, 1];
            var a = 1;
            var b = 1;
            var c;
            for (var i = 0; i < n - 2; i++) {
                c = a + b;
                a = b;
                b = c;
                arr.push(c);
            }
            return arr;
        }
        console.log(fb(10));

3、定义函数,参数是 三个数字,年、月、日;返回值是这一天是这一年的第几天

function getCurrentDayOfYear(year, month, day) {
            var totalDays = 0;
            var days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
            for (var i = 0; i < month - 1; i++) {
                totalDays += days[i]
            }
            totalDays += day;
            if (isRunYear(year) && month > 2) {
                totalDays++;
            }
            return totalDays;
        }

        function isRunYear(year) {
            return (year % 4 === 0 && year % 100 != 0 || year % 400 === 0)
        }
        console.log(getCurrentDayOfYear(2022, 6, 24)); //175

4. 倒序输出数组中所有能被3整除的数字

 function test(arr) {
            var result = 1;
            for (var i = 0; i < arr.length; i++) {
                var num = arr[i];
                if (num % 5 == 0) {
                    result *= num;
                }
            }
            return result;
        }
        var arr = [1, 4, 20, 30, 80, 90];
        console.log(test(arr));

5.计算数组中所有能被5整除的数字的乘积。

function test(arr) {
            var result = 1;
            for (var i = 0; i < arr.length; i++) {
                var num = arr[i];
                if (num % 5 == 0) {
                    result *= num;
                }
            }
            return result;
        }
        var arr = [1, 4, 20, 30, 80, 90];
        console.log(test(arr));

  6、定义函数

         para1:数字数组;

         para2:数字;

         返回值:该数字在数字数组中出现的次数。

         [1,2,23,1,3,45,34,3]  3  ; 2

 function fn(arr, num) {
            var count = 0;
            arr.forEach(function(value, index, array) {
                if (value == num) {
                    count++;
                }
            });
            return count;
        }
        console.log("出现的次数: ", fn([1, 2, 23, 1, 3, 45, 34, 3], 3));

 7、定义函数(数组筛选)

         para1:数字数组;

         para2:数字;

         返回值: 数组中所有以该数字为约数的元素构成的新数组。

         [1,2,21,1,3,45,34,3]  3  ; [21,3,45,3]


        function fn(arry, num) {
            var arr = [];
            arry.forEach(function(value) {
                if (value % num == 0) {
                    arr.push(value);
                }
            })
            return arr;
        }
        console.log(fn([1, 2, 21, 1, 3, 45, 34, 3], 3));

8.利用函数求任意个数的最大值 (方法定义时没有参数,调用时传递参数)

 function fn() {
            if (arguments.length === 0) return;
            var max = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                var num = arguments[i];
                if (num > max) {
                    max = num;
                }
            }
            return max;
        }
        console.log("max = ", fn(1, 2, 21, 1, 3, 45, 34, 3));

  10、定义函数

        para1:数字数组;

        返回值:新数组;

        [1,2,3,4,5,6];["1","12","123","1234","12345","123456","2","23","234","2345","23456","3","34","345","3456","4","45","456","5","56","6"];

 arguments实际上是一个伪数组 可以使用 length属性 可以像数组一样取值 但不能使用数组的API

            把伪数组强制转换伪数组对象

            Array.from() from 静态方法 必须是Array 大写的调用

            console.log(arguments instanceof Array); // false

function fn4() {
            if (arguments.length === 0) return;
            //  实际上是一个伪数组  可以使用    length属性 可以像数组一样取值  但不能使用数组的API
            // 把伪数组强制转换伪数组对象
            //  Array.from()  from 静态方法 必须是Array 大写的调用
            // console.log(arguments instanceof Array);// false 

            var newArray = Array.from(arguments);
            var max = newArray[0]

            newArray.forEach(function(v) {
                if (v > max) max = v;
            })
            return max;
        }

        console.log("max = ", fn4(1, 2, 21, 1, 3, 45, 34, 3));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值