logo

Com comprovar la cadena buida en JavaScript

A JavaScript, podem comprovar si una cadena està buida o no utilitzant diversos mètodes. Aquí teniu uns quants exemples:

1. Utilitzant la propietat de longitud:

Podem utilitzar el propietat de longitud d'una cadena per comprovar si té caràcters o no. Si la longitud és zero, vol dir que la cadena està buida.

Per exemple:

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

Sortida

 String is empty 

2. Utilitzant el mètode trim():

El mètode trim(). elimina els espais en blanc dels dos extrems d'una cadena. Si la cadena està buida, retallar () retornarà una cadena buida.

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

Sortida

 String is empty 

3. Utilitzant una comparació d'igualtat estricta amb una cadena buida:

A JavaScript, es considera una cadena buida falsificacions , el que significa que es tracta com a fals en un context booleà. Per tant, podem utilitzar una comparació d'igualtat estricta per comprovar si la cadena és igual a una cadena buida.

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

Sortida

 String is empty 

4. Utilitzant ! operador:

Podem utilitzar el ! operador per comprovar si la cadena és falsificacions . Una cadena buida es considera falsa a JavaScript, de manera que si la cadena està buida, ! tornarà veritat.

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

Sortida

 String is empty 

5. Utilitzant el mètode charAt():

El charAt() El mètode retorna el caràcter en un índex especificat en una cadena. Si la cadena està buida, charAt() retornarà una cadena buida.

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

Sortida

 String is empty 

6. Utilitzant expressions regulars:

També podem utilitzar expressions regulars per comprovar si hi ha una cadena buida. La següent expressió regular coincideix amb una cadena buida:

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

Sortida

 String is empty 

En aquesta expressió regular, ^ coincideix amb l'inici de la cadena, s* coincideix amb zero o més caràcters d'espai en blanc i $ coincideix amb el final de la cadena. Si la cadena està buida o només conté caràcters d'espai en blanc, l'expressió regular coincidirà i retornarà cert.

7. Utilitzant el mètode Object.prototype.toString():

Si teniu una variable que podria ser una cadena o un altre tipus d'objecte, podeu utilitzar el Object.prototype.toString() mètode per obtenir el seu tipus i després comprovar si és una cadena i si està buida.

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

Sortida

 String is empty 

Aquest codi utilitza el Object.prototype.toString() mètode per obtenir el tipus de variable str, i després comprova si és una cadena comparant el resultat amb la cadena '[Cadena d'objectes]' . Si és una cadena, retalla la cadena i comprova si està buida.

8. Utilitzant el mètode toString():

Si tenim una variable que podria ser una cadena, nul·la o no definida, podem utilitzar el toString() mètode per convertir-lo en una cadena i després comprovar si està buit.

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

Sortida

 String is empty 

Aquest codi comprova primer si la variable str no és nul·la o no està definida, i després la converteix en una cadena utilitzant el toString() mètode. Després d'això, retalla la cadena resultant i comprova si està buida.

9. Utilitzant el mètode reduce():

Si tenim una matriu de cadenes i volem comprovar si alguna d'elles està buida, podem utilitzar el reduir () mètode per iterar sobre la matriu i comprovar si alguna de les cadenes està buida.

 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'); } 

Sortida

 Array contains an empty string 

Aquest codi utilitza el reduir () mètode per iterar sobre la matriu arr i comproveu si alguna de les cadenes de la matriu està buida. El reduir () mètode pren a devolució de trucada funció que es crida a cada element de la matriu i un valor inicial false. El devolució de trucada La funció comprova si l'element actual és una cadena buida i retorna cert si ho és, o el valor de l'acumulador ( segons ) d'una altra manera. Si algun element de la matriu és una cadena buida, el resultat final de la matriu reduir () mètode serà cert, indicant que la matriu conté una cadena buida.