JavaScript中有一個常用函數(shù):Islucky。這個函數(shù)的作用是判斷一個數(shù)字是否為幸運數(shù)字。只要數(shù)字中包含有4或者7,那么這個數(shù)字就被認(rèn)為是幸運數(shù)字。
function isLucky(num){
while(num >0){
let digit = num % 10;
if(digit === 4 || digit === 7){
return true;
}
num = Math.floor(num/10);
}
return false;
}
Islucky函數(shù)的實現(xiàn)很簡單,它的本質(zhì)就是一個循環(huán)。我們首先取數(shù)字的最后一位,查看它是否為4或7,如果是,就返回true。不然的話,就把數(shù)字除以10并向下取整,循環(huán)繼續(xù)進行。如果這個過程中,我們把數(shù)字除到了0,那么說明這個數(shù)字中沒有4或7,它不是幸運數(shù)字,我們返回false。
下面我們來看幾個具體的例子,來測試一下Islucky函數(shù)的可用性。比如我們可以測試一下數(shù)字7,這個數(shù)字很明顯符合幸運數(shù)字的定義:
console.log(isLucky(7)); // true
不過數(shù)字8就不行了,因為它里面沒有4或7:
console.log(isLucky(8)); // false
還有一個很大的數(shù)字,它長成這個樣子:1234567654321。雖然這個數(shù)字不是幸運數(shù)字,但是它中間還是有7的,我們看看Islucky函數(shù)是否能識別出來:
console.log(isLucky(1234567654321)); // true
可以看到,Islucky函數(shù)的判斷方法非常簡潔明了,而且還非常方便易用。它適用于各種類型的數(shù)字,無論是負(fù)數(shù)還是浮點數(shù),都可以使用這個函數(shù)來進行判斷。當(dāng)然,在使用這個函數(shù)的時候,我們建議大家先對數(shù)字進行適當(dāng)?shù)娜≌僮?,以避免不必要的錯誤。