Dassault
Ej mircy z #naukaprogramowania #javascript #freecodecamp próbuję rozwiązać to: ZADANIE przy pomocy metody forEach.
Zakomentowana jest treść i moje rozwiązanie przy pomocy tradycyjnej pętli, inne rozwiązania mnie nie interesują bo zadanie jest proste. Po prostu zastanawiam się czy da się użyć tej konkretnej metody.
#kiciochpyta #zagadka
  • Najlepsze
  • Wszystkie komentarze
Afrael
@Dassault: wiem, że nie interesują Cię inne rozwiązania, ale .map (w uproszczeniu powiedzmy, że bliźniacza metoda) jest tutaj znacznie lepsza od .forEach'a: https://jsfiddle.net/edqh5gsa/1/
p98
p98
1
@Dassault: spróbuj użyć metody map() - modyfikuje i-ty element tablicy zwracaną wartością w callbacku. Poza tym - w swoim rozwiązaniu próbujesz zmienić poszczególny i-ty znak w stringu, co nie działa. Przykładowe użycie map():

function titleCase(str) {

str = str.toLowerCase().split(" ").map(function(smStr) {

var str = smStr.split('')

str[0]
kmiasko
```

upwords = (str) => {
  return str.split(' ').map(word => {
    return [word[0].toUpperCase(), word.slice(1).toLowerCase()].join('');
  }).join(' ');
M.....r
M.....r
@Dassault: tak. Wygooglaj sobie arrow func i reduce.
M.....r
M.....r
@Dassault template literals :)
Afrael
Dassault
Dassault Autor
0
@Afrael: @p98: Dzięki, w zasadzie to rozwiązań jest sporo, utkałem po prostu na tym forEachu. Oczywiście z własnej ciekawości i dla tego że jestem uparty. xD
Próbowałem tworzyć dodatkowe stringi ale i tak ciągle wyrzucało mi udefinied, a rozwiązaniem była tablica. ( ͡° ʖ̯ ͡°)
Dassault
Dassault Autor
0
rozwiązaniu próbujesz zmienić poszczególny i-ty znak w stringu, co nie działa.


@p98: Masz na myśli to zakomentowane? Oczywiście że działa, przecież stringa można traktować podobnie jak tablice. http://codepen.io/Dassault/pen/YGZBpx?editors=0012
M.....r
M.....r
@Afrael: @p98: lepiej użyć reduce'a (wrzucam jeszcze raz, bo mi wykop zjadł nawiasy)

https://jsfiddle.net/hmsqv4ps/1/
J.....t
J.....t
Treść przeznaczona dla osób powyżej 18 roku życia...
Dassault
Dassault Autor
0
@JollyGiant: Już miałem napisać że genialne, ale I see what you did here. ( ͡º ͜ʖ͡º)
https://teamtreehouse.com/community/can-someone-explain-the-logic-of-replacews-to-me

@kmiasko: Dzięki.
@MKu8ar: Wyjaśnisz mi ten zapis .reduce((sent, word) => ${sent} ${word[0].toUpperCase()}${word.slice(1)}, '')?
rbielawski
rbielawski
@kmiasko: jak masz tylko jedno wyrażenie w lambdzie, to nie potrzebujesz ani {}, ani return; można jeszcze bardziej skrócić to, co napisałeś. ( ͡° ͜ʖ ͡°)
kmiasko
@rbielawski: w sumie () też nie ;) Nawyki ze starego js.
Dassault
Dassault Autor
0
@kmiasko: W sumie to jako początkujący nie ogarniam twojego zapisu podobnie jak @MKu8ar.

upwords = (str) => {

Niby wszystko oczywiste ale zapis totalnie obcy, to jest to nowe ECMAscript 6?
Dassault
Dassault Autor
0
@MKu8ar: Wiem co robi reduce, bardziej chodzi mi o zapis. "=>" używanie nawiasów tam gdzie ich normalnie nie ma. XD
Dassault
Dassault Autor
0
@MKu8ar: I przede wszystkim $ u ciebie.
Dassault
Dassault Autor
0
@MKu8ar: Drugi miesiąc nauki i jeszcze tego nie widziałem. xD Danke!