Bu makale esas olarak tam sayı türü olup olmadığını belirlemek için beş JavaScript yöntemi tanıtmaktadır.İhtiyacı olan arkadaşlar başvurabilir
Bu makale, tamsayı türünün (Tamsayı) nasıl belirleneceğine bakacaktır. JavaScript, tamsayılar ve kayan nokta sayıları arasında ayrım yapmaz. Tüm sayılar dahili olarak Java'nın çift türü ile aynı olan 64 bit kayan nokta biçiminde gösterilir. Ancak dizi indeksleme ve bit işlemleri gibi gerçek işlemler 32 bitlik tam sayılara dayanır.
Yöntem 1: Yargılamak için kalan işleci kullanın
Herhangi bir tam sayı 1'e bölünebilir, yani geri kalan 0'dır. Tam sayı olup olmadığını belirlemek için bu kuralı kullanın.
Yukarıdaki çıktı, bu işlevin kullanımının çok kolay olduğunu ancak dizeler ve bazı özel değerler için yetersiz olduğunu göstermektedir.
Boş dizeler için, dize türü sayıları, Boolean true ve boş dizilerin tümü true değerini döndürür, bu gerçekten kabul edilemez. Bu tür dahili dönüşümlerin ayrıntılarıyla ilgilenenler için, lütfen bakınız: JavaScript'te Harika Sahte Değerler
Bu nedenle, ilk önce nesnenin bir tür eklemek gibi bir sayı olup olmadığını belirlemeniz gerekir.
Bu mükemmel.
Yöntem 2: Yargılamak için Math.round, Math.ceil, Math.floor kullanın
Tamsayı, yuvarlamadan sonra hala kendisine eşittir. Math.floor örneğinde olduğu gibi tam sayı olup olmadığını belirlemek için bu özelliği kullanın
Bu, dizeyi doğrudan engeller, true ve kod miktarı önceki işlevden daha azdır.
Üçüncü yöntem, parseInt ile karar verin
Çok iyi ama bir dezavantajı da var
Aslında mantıksız bir şekilde yanlış döndü. Bunun nedeni, parseInt'in, tamsayıyı ayrıştırmadan önce ilk parametreyi bir dizeye ayrıştırmaya zorlamasıdır. Sayıları tam sayılara dönüştürmek için bu yöntem iyi bir seçim değildir.
Yöntem 4: Bit işlemine göre karar verme
Bu işlev çok iyi ve çok etkilidir. Ancak bir kusur var. Yukarıda bahsedildiği gibi, bit aritmetiği yalnızca 32 bit içindeki sayıları işleyebilir ve 32 bitten fazla hiçbir şey yapamaz, örneğin
Kod kodunu aşağıdaki gibi kopyalayın:
isInteger (Math.pow (2, 32)) // 32 bitin üzerindeki sayılar yanlış döndürür
Elbette çoğu zaman bu kadar büyük bir sayı kullanmayacağız.
Yöntem 5, ES6 Number.isInteger sağlar
Şu anda en son Firefox ve Chrome desteklenmektedir.
Yukarıdakiler, bunun bir tam sayı türü olup olmadığına karar vermenin beş yoludur. Bu beş yolun her birinin avantajları ve dezavantajları vardır. Dikkatlice karşılaştırabilir ve kullanılacak en iyisini seçebilirsiniz.