早上深圳的太陽曬的皮膚賊疼,邊走邊想著一點事情來轉移注意力,忽然間就想到前兩天在掘金上看到一個前端面試題,雖說題目出的不是很嚴謹,但我就想著把他的題目修改下,延伸一下下,先看下圖。。。
正如標題看到的,萬一這個數即被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為一個負數
複製程式碼
這樣基本所有情況都被考慮進去了,如果還有沒有考慮進去的情況,還望大家指出修改