Tamsayı türü olup olmadığını belirlemenin beş js yolu

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.

Springboot, RESTful API belgeleri oluşturmak için swagger2'yi entegre eder
önceki
Real Madrid Genç Takımı şampiyonluğu namağlup kazandı, Marcelonun en büyük oğlu bu sezon 24 gol attı
Sonraki
Livingston bir toka verdi, Curry bunu görünce yere "çöktü"
XpressMusic devamı Nokia X6 National Bank yeni makinesi çıktı
Lenovo gerçekleri açıkladı: Samsung ve Huawei'ye oy verdi, ancak Qualcomm'a oy vermedi
Sahtecilikle mücadele ders kitabı, Mainz'in sahip olma oranı% 30'dan az ve yine de Freiburg'u 5-0 yendi
IOS, ZipperDown güvenlik açığını ortaya çıkarıyor, popüler uygulamaların neredeyse tamamı hit
Java's Filter, aop programlama düşüncesinin bir uygulaması
Bu bir devin omzu! Alibaba'nın 2018'de açtığı harika projelerin özeti
Wang Xiaolu: Gereksiz hükümet harcamalarını azaltmak ve kurumlar vergisi indirimi ile el ele gitmek
Arka arkaya üç yolcu için ilk durak! Sixers, Minnesota'ya doğru yola çıkacak
Baba oğul askerler! Barea atış alıştırması yaptı ve oğlu topu sepetin altından aldı.
OnePlus 6 amiral gemisi yüksek çözünürlüklü görüntülemeler yayınlandı, artık OPPO değil
Savaşçı Kuzenler maçtan önce kameraya sırıttı
To Top