logo

Jak zkontrolovat prázdný řetězec v JavaScriptu

V JavaScriptu můžeme zkontrolovat, zda je řetězec prázdný nebo ne, pomocí několika metod. Zde je několik příkladů:

1. Použití vlastnosti length:

Můžeme použít vlastnost délky řetězce pro kontrolu, zda obsahuje nějaké znaky nebo ne. Pokud je délka nula, znamená to, že řetězec je prázdný.

Například:

 let str = ''; if (str.length === 0) { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

2. Pomocí metody trim():

The metoda trim(). odstraní mezery z obou konců řetězce. Pokud je řetězec prázdný, trim() vrátí prázdný řetězec.

 let str = ''; if (str.trim() === '') { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

3. Použití přísného porovnání rovnosti s prázdným řetězcem:

V JavaScriptu se bere v úvahu prázdný řetězec padělky , což znamená, že je v booleovském kontextu považován za nepravdivý. Můžeme tedy použít přísné srovnání rovnosti ke kontrole, zda se řetězec rovná prázdnému řetězci.

 let str = ''; if (str === '') { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

4. Použití ! operátor:

Můžeme použít ! operátor pro kontrolu, zda je řetězec padělky . Prázdný řetězec je v JavaScriptu považován za falešný, takže pokud je řetězec prázdný, ! vrátí true.

 let str = ''; if (!str) { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

5. Použití metody charAt():

The charAt() metoda vrací znak na zadaném indexu v řetězci. Pokud je řetězec prázdný, charAt() vrátí prázdný řetězec.

 let str = ''; if (str.charAt(0) === '') { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

6. Použití regulárních výrazů:

Můžeme také použít regulární výrazy pro kontrolu prázdného řetězce. Následující regulární výraz odpovídá prázdnému řetězci:

 let str = ''; if (/^s*$/.test(str)) { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

V tomto regulárním výrazu ^ odpovídá začátku řetězce, s* odpovídá nule nebo více mezerám a $ odpovídá konci řetězce. Pokud je řetězec prázdný nebo obsahuje pouze mezery, regulární výraz se bude shodovat a vrátí hodnotu true.

7. Použití metody Object.prototype.toString():

Pokud máte proměnnou, kterou by mohl být řetězec nebo jiný typ objektu, můžete použít Object.prototype.toString() metodou získat jeho typ a poté zkontrolovat, zda se jedná o řetězec a zda je prázdný.

 let str = {}; if (Object.prototype.toString.call(str) === '[object String]' &&str.trim() === '') { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

Tento kód používá Object.prototype.toString() metoda k získání typu proměnné str a poté zkontroluje, zda se jedná o řetězec porovnáním výsledku s řetězcem '[řetězec objektu]' . Pokud se jedná o řetězec, ořízne řetězec a zkontroluje, zda je prázdný.

8. Pomocí metody toString():

Pokud máme proměnnou, která by mohla být řetězec nebo null nebo nedefinovaná, můžeme použít toString() metodou pro převod na řetězec a poté zkontrolujte, zda je prázdný.

 let str = null; if (str &&str.toString().trim() === '') { console.log('String is empty'); } else { console.log('String is not empty'); } 

Výstup

 String is empty 

Tento kód nejprve zkontroluje, zda proměnná str není nulová nebo nedefinovaná, a poté ji převede na řetězec pomocí toString() metoda. Poté výsledný řetězec ořízne a zkontroluje, zda je prázdný.

9. Použití metody reduction():

Pokud máme pole řetězců a chceme zkontrolovat, zda některý z nich není prázdný, můžeme použít snížit() metoda pro iteraci pole a kontrola, zda není některý z řetězců prázdný.

 let arr = ['', 'hello', 'world']; if (arr.reduce((acc, val) =>acc || val.trim() === '', false)) { console.log('Array contains an empty string'); } else { console.log('Array does not contain an empty string'); } 

Výstup

 Array contains an empty string 

Tento kód používá snížit() metoda pro iteraci pole arr a zkontrolujte, zda některý z řetězců v poli není prázdný. The snížit() metoda trvá a zpětné volání funkce, která je volána na každém prvku pole, a počáteční hodnota false. The zpětné volání funkce zkontroluje, zda je aktuální prvek prázdný řetězec, a vrátí hodnotu true, pokud ano, nebo hodnotu akumulátoru ( přísl ) v opačném případě. Pokud je některý prvek v poli prázdný řetězec, konečný výsledek je snížit() metoda bude true, což znamená, že pole obsahuje prázdný řetězec.