Mam dwie funkcje bardzo do siebie podobne: nest i append.
nest ma za zadanie zagnieżdżać obiekty jeden wewnątrz kolejnego według podanej tablicy. append ma za zadanie dołączać kolejne wartości z tablicy do tekstu.
Obie funkcje są rekurencyjne. Obie funkcje zmieniają zmienną na której pracują.
Pytanie: Dlaczego na koniec obie funkcje zwracają inną wartość z funkcji niż jest w zmiennej? - Patrz logi. Dlaczego w funkcji nest to obiekt "a" na koniec
Dlaczego w funkcji nest to obiekt "a" na koniec zwraca prawidłową wartość
Bo na sam koniec robisz return obj, który jest ostatnim (pustym) kluczem z tablicy (czyli z). Czyli pierwszy log pokazuje tylko klucz z, a w drugim wołasz już o cały obiekt.
natomiast zupełnie odwrotnie funkcja append - to funkcja zwraca prawidłową wartość a nie zmienna "text"?
Bo w stringach nie działa referencja. W żadnym miejscu
@scorpio18k: Rozwiązaniem dla nest będzie dodanie trzeciego parametru (który będzie przekazywał referencję do oryginalnej zmiennej).
function nest(obj, props, orgObj) { if (props.length === 0) return orgObj; else return nest(obj[props[0]] = {}, props.slice(1), orgObj || obj); } Dzięki zastosowaniu orgObj || obj nie musisz podawać tego argumentu przy wywołaniu funkcji (referencja będzie przechodzić automatycznie).
Rozwiązaniem dla append będzie przypisywanie wartości przy wywołaniu funkcji.
@lobo: Wymyśliłem sobie, żeby zagnieżdżać automatycznie {} gdyby klucza nie było ale nie wiem dlaczego obiekt nie reaguje na przypisanie: https://jsfiddle.net/560ms9e3/
Co to za zapis: {arg = "notset"} = {} który działa tylko jako argument funkcji? Jak to przeniosę do wnętrza funkcji to błąd wyskakuje. To się jakoś nazywa?
@Chanandler: Chyba załapałem. "={}" to nie jest destrukturyzacja tylko wartość domyślna. Destrukturyzacja jest przy przekazywaniu argumentów. Czyli: {arg = "notset"} sczytuje wartość arg z obiektu który trafił do funkcji jako argument, np.: argTest({ arg: "test" }); teraz arg będzie miał wartość "test", ale jak nie będzie parametru arg wewnątrz obiektu to wstawi "notset" Ale najciekawsze jest to, że jak zamiast obiektu do argumentu przekaże się cokolwiek innego, np: argTest( ["test", 3]
ESlint wyrzuca: React Hook useEffect has missing dependencies: 'getStudent'
Chodzi o to, żeby przy ładowaniu się komponentu pobrać raz dane, dlatego jest pusta tablica na końcu. Funkcję getStudent używam jeszcze kilka razy i nie wydaje mi się, żeby przekopiowanie wnętrza funkcji było najlepszym pomysłem. Jak rozwiązać ten błąd?
@Rst00: Co prawda funkcja getStudent wywołuje się kilka razy ale jej kod się nie zmienia więc useEffect wywoła się tylko raz tak jakby była pusta tablica. Dobrze rozumiem? I czy tak samo by zadziałało jakby były argumenty np. getStudent(x); ?
I tak oto minęły 4miesiące odkąd zabrałem się za naukę programowania w pythonie. Jakkolwiek udało się pogodzić firmę, dom i naukę. Uważam że znam bardzo dobrze główną podstawę, potrafię napisać prosty program i radzę sobie z odczytem. Moją naukę brałem głównie z youtube(polskiego i zagranicznego) i zagranicznych stron tematycznych, nie brałem się za kupowanie żadnych gówno kursów, szkoleń czy innych shitcampów (tak jak w sumie mówił mireczek hellfirehe(nie chce cie wołać xd))
pogrubienie - pogrubiony tekst pochylenie - pochylony tekst
cytat - cytowany tekst (od nowej linii)
kod zrodlowy - tekst o stałej szerokości znaków (od nowej linii) opis - link ukryty pod opis i prowadzący do adres - adres musi zaczynać się od protokołu http:// pozostałe linki zamieniane są automatycznie
Jest ktoś ogarnięty kto wytłumaczy mi podstawy i co warto wiedzieć łopatologicznie ? naprawdę ciężko mi zrozumieć pythona a bardzo chce się go nauczyć , ktoś pomoże bo już nie wiem co zrobić , materiały na necie to czarna magia a najlepiej przyswajam wiedzę gdy ktoś mi tłumaczy , jeżeli znalazła by się taka osoba to będę bardzo wdzięczny , na kurs chciałbym ale nie mam pieniędzy ( ͡°ʖ̯
Udało mi się rozwiązać to za pomocą: {fetchedValue && }
Z tego co ogarnąłem, to Example ładował się z wartością undefined zanim się pobrały dane z bazy danych i tak zostawało. Dzięki { fetchedValue && ... } ładuje komponent dopiero gdy coś tam jest.
#adblock blokuje karty "sponsored" ale te "suggested" też bym chciał zablokować.
#facebook