23 of 264 menu

isFinite ֆունկցիան

isFinite ֆունկցիան պարամետրը ստուգելու համար, որ այն վերջավոր թիվ է (այսինքն՝ ոչ տող, զանգված և այլն, և ոչ պլյուս կամ մինուս անսահմանություն)։

Ինչպես է աշխատում այս ֆունկցիան․ այն կվերադարձնի false, եթե թիվը պլյուս կամ մինուս անսահմանություն է (այսինքն Infinity) կամ ոչ թիվ (այսինքն NaN), մնացած դեպքերում կվերադարձնի true։ Այսինքն՝ տողերը, զանգվածները և այլն կվերածվեն NaN և, համապատասխանաբար, կվերադարձնեն false։

Սակայն կան բացառություններ․ դատարկ տողը '' վերադարձնում է true, բացատներով տողը '    ' նույնպես վերադարձնում է true, null վերադարձնում է true, true և false արժեքների դեպքում նույնպես վերադարձվում է true։

Սա տեղի է ունենում, քանի որ այդ արժեքները վերածվում են թվերի, և ոչ թե NaN։ Եթե Ձեզ անհրաժեշտ է իսկապես ճշգրիտ ստուգում թվի համար, որն բացատներով տողը չի համարում թիվ, տրամաբանական և հատուկ արժեքներ - օգտագործեք հետևյալ isNumeric ֆունկցիան․

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

Եկեք հասկանանք, թե ինչպես է այն աշխատում։ isFinite ֆունկցիան պարամետրը վերածում է թվի և վերադարձնում է true, եթե այն Infinity, -Infinity կամ NaN չէ։ Այսպիսով, աջ մասը կմերժի ակնհայտ ոչ թվերը, բայց կթողնի այնպիսի արժեքներ, ինչպիսիք են true, false, null, դատարկ տողը '' և բացատներով տողը, քանի որ դրանք ճիշտ են վերածվում թվերի։

Այդ արժեքները մերժելու համար անհրաժեշտ է parseFloat ֆունկցիան, որը true, false, null, '', '   ' դեպքերում կվերադարձնի NaN։ parseFloat ֆունկցիան այսպես է աշխատում․ այն պարամետրը վերածում է տողի, այսինքն՝ true, false, null դառնում են 'true', 'false', 'null', ապա կարդում է դրանցից թիվը, իսկ դատարկ տողը և բացատներով տողը տալիս են NaN։ Ապա parseFloat-ի արդյունքը մշակվում է !isNaN-ի միջոցով, true կամ false ստանալու համար NaN-ի փոխարեն։ Արդյունքում մերժվում է ամենը, բացի թվային տողերից և սովորական թվերից։

Շարահյուսություն

isFinite(արժեք);

Օրինակ

Հիմա isFinite-ը կարտածի true, քանի որ պարամետրը թիվ է․

let num = 3; console.log(isFinite(num));

Կոդի կատարման արդյունքը․

true

Օրինակ

Հիմա isFinite-ը կարտածի false, քանի որ պարամետրը թիվ չէ․

let num = 'abcde'; console.log(isFinite(num));

Կոդի կատարման արդյունքը․

false

Օրինակ

Հիմա isFinite-ը կարտածի false, քանի որ պարամետրը անսահմանություն է․

let num = Infinity; console.log(isFinite(num));

Կոդի կատարման արդյունքը․

false

Օրինակ

Հիմա isFinite-ը կարտածի false, քանի որ 1/0-ն ըստ էության Infinity է (անսահմանություն)․

let num = 1 / 0; console.log(isFinite(num));

Կոդի կատարման արդյունքը․

false

Օրինակ

Հիմա isFinite-ը կարտածի true, քանի որ դատարկ տողը, որը թիվ չէ, բացառություն է․

let num = ''; console.log(isFinite(num));

Կոդի կատարման արդյունքը․

true

Տես նաև

  • isNaN ֆունկցիան,
    որը կատարում է ստուգում NaN-ի համար
  • typeof օպերատորը,
    որը որոշում է տվյալների տեսակը
Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել