• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

działanie funkcji replace

0 głosów
503 wizyt
pytanie zadane 27 listopada 2016 w JavaScript przez tyskocz Nowicjusz (230 p.)

Cześć,

Mam następującą funkcję:

        getGameState: function(){
          var gState = 'x'+'\n';
          for (var i = 0; i < gameBoard.length; i++) {
              if (gameBoard[i] != undefined) {
gState = gState + Number(gameBoard[i]) +","+ i/10 + '\n';

          }
        }
        return gState.replace('.',',');
      //  console.log(gState);
      }//getGameState

a to co dostaję z return wygląda tak:

x
1,5,3
1,5.4
1,5.5

Jak widać replace zadziałał tylko dla pierwszego wiersza...

Ma ktoś pomysł dlaczego tak się dzieje i jak sobie z tym poradzić?

2 odpowiedzi

+1 głos
odpowiedź 27 listopada 2016 przez Comandeer Guru (608,860 p.)
wybrane 27 listopada 2016 przez tyskocz
 
Najlepsza

Bo tak działa by design. Jeśli chcesz zamienić wszystkie, musisz użyć regexa z flagą g:

return gState.replace( /\./g, ',' );

 

komentarz 27 listopada 2016 przez tyskocz Nowicjusz (230 p.)
Dzięki, działa
0 głosów
odpowiedź 27 listopada 2016 przez xmentor Nałogowiec (49,520 p.)

Spróbuj zamienić

'.'

na:

/\./g

Lub użyj metody split i join :)

Podobne pytania

+1 głos
3 odpowiedzi 787 wizyt
0 głosów
1 odpowiedź 509 wizyt
0 głosów
1 odpowiedź 202 wizyt
pytanie zadane 2 grudnia 2016 w JavaScript przez Wilier Bywalec (2,570 p.)

93,765 zapytań

142,721 odpowiedzi

323,372 komentarzy

63,359 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...