⊗jsSpOtAC 279 of 294 menu

Optimización de la conversión a array en JavaScript

No siempre es necesario dividir una cadena en un array para hacer algo con ella. Veamos un ejemplo. Supongamos que tenemos el siguiente código:

let num = 123456789; let arr = String(num).split(''); let sum = 0; for (let elem of arr) { sum += +elem; } console.log(sum);

¿Por qué es malo convertirlo en un array aquí? Porque, en primer lugar, la conversión a array consume recursos de la CPU, y en segundo lugar, el array resultante ocupará espacio en la memoria RAM (y será más grande que el espacio que ocupa la cadena original).

Y en realidad, con for-of se pueden iterar no solo arrays, sino también cadenas:

let num = 123456789; let str = String(num); let sum = 0; for (let char of str) { sum += +char; } console.log(sum);

El siguiente código busca la suma de los dígitos de un número introducido en un input. Realiza la optimización:

<input> let input = document.querySelector('input'); input.addEventListener('blur', function() { let digits = input.value.split(''); let sum = 0; for (let digit of digits) { sum += +digit; } console.log(sum); });

El siguiente código cuenta la cantidad de letras en una cadena. Realiza la optimización:

let str = 'abcaab'; let arr = str.split(''); let i = 0; for (let elem of arr) { if (elem == 'a') { i++; } } console.log(i);

El siguiente código verifica la presencia de un símbolo en una cadena. Realiza la optimización:

let str = 'abcaab'; let arr = str.split(''); console.log(arr.includes('a'));
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar