0 szavazat
(150 pont) által 
által újranyitott

Tudna valaki segíteni abban, hogy JavaScript-ben melyik parancs tudja megszámolni, hogy egy stringben hányszor fordul elő a "b" betű?

2 Válasz

0 szavazat
(1,6e pont) által 
által kiválasztott
 
Legjobb válasz

Szia!

Ha jól gondolom akkor a ciklusok fejezetnél tartasz a codeberry tananyagában. Ez már magában segítség lehet a megoldáshoz. :)

Az ötlet a következő:

  1. Létrehozol egy változót, aminek 0-t adsz kezdeti értékül.
  2. Indítasz egy for ciklust, amiben a string karakterein mész végig.
  3. A ciklus magjában csinálsz egy if feltételt, amiben azt vizsgálod, hogy a karakter, ahol éppen tartasz a ciklusban egyenlő-e "b"-vel.
  4. Ha ez igaz, akkor az 1. pontban létrehozott változót növeled eggyel.
  5. A for ciklus után kiírod az 1. pontban létrehozott változót, ez lesz a "b" karakter előfordulásának a száma a stringben.

Mindenképpen javaslom, hogy ezt így csináld végig, mert sokat lehet belőle tanulni, és fontos, hogy megértsd a ciklusok működését.

Ha készen vagy vele, akkor kipróbálhatsz még egy megoldást, amihez a következő az ötlet:

  1. A stringeknek van egy beépített függvényük, amivel szét tudod darabolni őket több stringgé. A stringet minden helyen kettévágja, ahol a paraméterül megadott karaktert találja. Erről bővebben itt olvashatsz: https://www.w3schools.com/jsref/jsref_split.asp
  2. Ez a split függvény egy string tömböt ad vissza, amikről majd még lesz szó a későbbi leckékben. Most elég, ha annyit tudsz, hogy egy ilyen tömbben több string szerepel, valamint létezik neki length tulajdonsága, ami megmondja, hogy pontosan hány db string van benne.
  3. Az első két pontot felhasználva megoldható a feladat egyetlen elegáns sorban is, valahogy így: str.split('b').length - 1;
0 szavazat
(480 pont) által 

szia :)

nem olyan régen az egyik codeberry-s feladathoz kellett a charindex, akkor találtam ezt a stacken....

// The string
var str = "I want to count the number of occurances of each char in this string";

// A map (in JavaScript, an object) for the character=>count mappings
var counts = {};

// Misc vars
var ch, index, len, count;

// Loop through the string...
for (index = 0, len = str.length; index < len; ++index) {

// Get this character
ch = str.charAt(index); // Not all engines support [] on strings

// Get the count for it, if we have one; we'll get `undefined` if we
// don't know this character yet
count = counts[ch];

// If we have one, store that count plus one; if not, store one
// We can rely on `count` being falsey if we haven't seen it before,
// because we never store falsey numbers in the `counts` object.
counts[ch] = count ? count + 1 : 1;

}

Now counts has properties for each character; the value of each property is the count. You can output those like this:

for (ch in counts) {

console.log(ch + " count: " + counts[ch]);

}

https://stackoverflow.com/questions/19480916/count-number-of-occurrences-for-each-char-in-a-string

én is ezzel oldottam meg :D

...