Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Statystyki łańcucha znaków

czwartek,

Statystyki łańcucha znaków

Policzenie wszystkich wystąpień znaków w łańcuchu za pomocą języka JavaScript tylko wydaje się trudnym zadaniem. W prezentowanym skrypcie zrealizowano to przy pomocy pętli. Wykorzystano także właściwość łańcuchów znaków polegającą na możliwości odwołania się do pojedynczego znaku w podobny sposób jak w przypadku elementów tablic (zapis s[i]). Dodatkowego wyjaśnienia wymaga także fragment stats[s[i]] || (stats[s[i]] = 0) z dziewiątego wiersza. Ten skrócony zapis oznacza: jeśli nie istnieje wywołany element, zainicjuj go z wartością zero.

W prezentowanym skrypcie zastosowano prosty obiekt (stats) mapujący klucze na wartości. Nazwami kluczy stają się znaki z analizowanego łańcucha. Wartości to sumy wystąpień danego znaku. Dzięki wykorzystaniu kluczy w takiej postaci łatwo zliczyć wystąpienia poszczególnych elementów. Wywołanie s[i] zawsze zwraca kolejny znak określony indeksem i.

Gdyby wielkość liter miała być ignorowana, można na początku użyć np. metody toLowerCase(), która zamienia wszystkie litery na małe. Dalsza część skryptu będzie działać bez zmian.

var x, u, s, i;
var stats = {};

s = 'Centrum Kształcenia Zawodowego i Ustawicznego!';
x = s.length;
u = 0;

for(i=0; i < x; i++) {
  stats[s[i]] || (stats[s[i]] = 0);
  stats[s[i]]++;
}
  
console.log('Łańcuch znaków: ' + s);
console.log('Długość łańcucha: ' + x);

for(i in stats) {
  console.log("'" + i + "': " + stats[i]);
  u++;
}

console.log('Unikalne znaki w ciągu: ' + u);

W części wypisującej wyniki analizy (druga pętla) zliczana jest ilość unikalnych znaków występujących w łańcuchu. Wynik działania skryptu trafia do konsoli JavaScript. W takie narzędzie są wyposażone wszystkie współczesne popularne przeglądarki stron internetowych, najczęściej można je wywołać za pomocą klawisza F12 (w Firefoksie skrót Ctrl+Shift+K).

Widoczny w konsoli JavaScript efekt działania skryptu:

Łańcuch znaków: Centrum Kształcenia Zawodowego i Ustawicznego!
Długość łańcucha: 46
'C': 1
'e': 4
'n': 3
't': 3
'r': 1
'u': 1
'm': 1
' ': 4
'K': 1
's': 2
'z': 2
'a': 4
'ł': 1
'c': 2
'i': 3
'Z': 1
'w': 3
'o': 4
'd': 1
'g': 2
'U': 1
'!': 1
Unikalne znaki w ciągu: 22
Artykuł: Konkurs z Języka Angielskiego Zawodowego

Konkurs z Języka Angielskiego Zawodowego

Artykuł: Testujemy kontroler ARGB

Testujemy kontroler ARGB

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Artykuł: Przeglądarka Vivaldi

Przeglądarka Vivaldi

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły