设计一个函数,传入一个数字n,若n可以被3整除的返回1,可以被5整除返回2,可以被7整除返回3...

本文针对一道前端面试题进行了解析,通过一个函数判断输入数字能否被3、5、7整除,并根据不同情况返回特定值。文章提供了完整的JavaScript代码实现。

早上深圳的太阳晒的皮肤贼疼,边走边想着一点事情来转移注意力,忽然间就想到前两天在掘金上看到一个前端面试题,虽说题目出的不是很严谨,但我就想着把他的题目修改下,延伸一下下,先看下图。。。

正如标题看到的,万一这个数即被3整除又被5整除,那该返回多少呢?那我这边想到的是返回12,话不多说,我贴代码了
function Ajust(num) {
            if ( typeof num != "number" || num == null ) {
                // 排除输入为空,以及输入非数字数据
                return false;
            }else {
                if ( num!=0 ) {
                    // 排除0
                    if( num < 0 ) {
                        return num + "为一个负数";
                    }else if ( num%3 === 0 && num%5 === 0 && num%7 === 0 ) {
                        return 123;
                    }else  if( num%3 === 0 && num%5 === 0 ) {
                    // 同时被3、5两个数整除
                        return 12;
                    }else if ( num%5 === 0 && num%7 === 0 ) {
                    // 同时被5、7两个数整除
                        return 23;
                    }else if( num%3 === 0 ) {
                        return 1;
                    }else if ( num%5 === 0 ) {
                        return 2;
                    }else if( num%7 === 0 ) {
                        return 3;
                    }else {
                        return num+ "不被这个数整除!"
                    }
                }
            }
        }
        console.log( Ajust(105) );  // 123
        console.log( Ajust(15) );  // 12
        console.log( Ajust(35) );  // 23
        console.log( Ajust(3) );  // 1
        console.log( Ajust(5) );  // 2
        console.log( Ajust(7) );  // 3
        console.log( Ajust(0) );  // undefined
        console.log( Ajust(-1) );  // -1为一个负数
复制代码

这样基本所有情况都被考虑进去了,如果还有没有考虑进去的情况,还望大家指出修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值