• 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
87 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 (166,350 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 44 wizyt
0 głosów
1 odpowiedź 75 wizyt
pytanie zadane 30 stycznia 2017 w C i C++ przez mmpat Nowicjusz (190 p.)
0 głosów
2 odpowiedzi 109 wizyt
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

61,385 zapytań

107,325 odpowiedzi

223,536 komentarzy

33,148 pasjonatów

Przeglądających: 127
Pasjonatów: 8 Gości: 119

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.

...