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

JS - funkcja zamieniająca znaki w stringu

–1 głos
84 wizyt
pytanie zadane 7 grudnia 2018 w C i C++ przez DarekP Nowicjusz (140 p.)

Chcę napisać funkcję która zamieni text w kebab case na snake case czyli  "-" na podkreślenia np numer-faktury na numer_faktury

Niestety ale to co stworzyłem mi nie działa:

function kebabToSnake(str) {for(i=0;i<=str.lenght-1; i++) {if(str[i]=="-") {str[i]="_"}; console.log(str);}}

Próbowałem zobaczyć czy algorytm jest dobry i właściwie mi znajduje myślniki ale to również mi nie działa

for(i=0;i<=str.lenght-1; i++) {if(str[i]==="-") { console.log(str)}}

 

1 odpowiedź

+2 głosów
odpowiedź 7 grudnia 2018 przez ForKing Bywalec (2,570 p.)
var string = '-tekst-';
var rpStringS = string.replace(/-/, "_"); //zmiana pierwszego znalezionego
var rpStringG = string.replace(/-/g, "_"); //zmiana wszystkich znalezionych

Coś takiego?

komentarz 7 grudnia 2018 przez DarekP Nowicjusz (140 p.)
Tak, dokładnie o to mi chodziło, ale nie chcę robić tego za pomocą zaimplementowanych w js metod dla stringa, tylko sam próbuję napisać taką funkcję i mi nie wychodzi
komentarz 7 grudnia 2018 przez Tomek Sochacki Mędrzec (151,470 p.)
po co sam skoro są od tego gotowe mechanizmy? :) programowanie to nie usilne robienie wszystkiego od zera i wymyslanie koła na nowo tylko umiejetnosc świadomego wykorzystania tego co nam daje język out-of-the-box.
komentarz 7 grudnia 2018 przez DarekP Nowicjusz (140 p.)
Tak wiem, że o ilę się da to należy korzystać z wbudowanych metod ale w tym przypadku uczę się jeżyka i takie fajne proste zadania wolę zrobić sam w ramach ćwiczeń :)
komentarz 7 grudnia 2018 przez ForKing Bywalec (2,570 p.)
edycja 7 grudnia 2018 przez ForKing
https://www.w3schools.com/jsref/jsref_substring.asp

Można zrobić to przy pomocy substring i pętli. Można też wszystkie litery wrzucić do tablicy potem sprawdzić pętla, które są jakimś znakiem i zamienić?

https://www.w3schools.com/jsref/jsref_split.asp

Ogólnie to string w js jest immutable więc operacje w stylu str[2] = "F" nie zadziałają.
komentarz 7 grudnia 2018 przez DarekP Nowicjusz (140 p.)
Immutable - widzę że to jest w tym wszystkim klucz i dlatego nie mogę tego zrobić w ten sposób :)

Podobne pytania

0 głosów
2 odpowiedzi 39 wizyt
0 głosów
1 odpowiedź 71 wizyt
pytanie zadane 30 stycznia 2017 w C i C++ przez mmpat Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 105 wizyt
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

59,248 zapytań

104,670 odpowiedzi

216,616 komentarzy

31,668 pasjonatów

Przeglądających: 258
Pasjonatów: 20 Gości: 238

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...