⊗jsSpOtAC 279 of 294 menu

Optymalizacja konwersji na tablicę w JavaScript

Nie zawsze trzeba dzielić ciąg znaków na tablicę, aby coś z nim zrobić. Spójrzmy na przykład. Załóżmy, że mamy następujący kod:

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

Dlaczego rozbijanie na tablicę jest tutaj złe? Ponieważ po pierwsze, rozbicie na tablicę zużywa resursy procesora, po drugie, otrzymana tablica będzie zajmować miejsce w pamięci operacyjnej (i to więcej niż miejsce zajmowane przez sam ciąg znaków).

A tak naprawdę za pomocą for-of można iterować nie tylko po tablicach, ale także po ciągach znaków:

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

Poniższy kod znajduje sumę cyfr liczby wprowadzonej w pole input. Wykonaj optymalizację:

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

Poniższy kod zlicza liczbę liter w ciągu znaków. Wykonaj optymalizację:

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

Poniższy kod sprawdza obecność symbolu w ciągu znaków. Wykonaj optymalizację:

let str = 'abcaab'; let arr = str.split(''); console.log(arr.includes('a'));
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć