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हिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა