早上深圳的太阳晒的皮肤贼疼,边走边想着一点事情来转移注意力,忽然间就想到前两天在掘金上看到一个前端面试题,虽说题目出的不是很严谨,但我就想着把他的题目修改下,延伸一下下,先看下图。。。
正如标题看到的,万一这个数即被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为一个负数
复制代码
这样基本所有情况都被考虑进去了,如果还有没有考虑进去的情况,还望大家指出修改