@ElementalX7: Z takich ciekawszych tylko pamiętaj, że freeze() robi tzw. "shallow freeze". Zagnieżdżone obiekty będą nadal mutowalne. Jeśli chcesz tego uniknąć musisz rekursywnie zrobić "deepFreeze"
  • Odpowiedz
Mam pytanie związanie z #js oraz #html. chce zmienić na scroll-u i mam takie dwa skrypty. I one mi działają jak są pojedynczo, a jak oba są wpisane to działa jeden. Zauważyłem, że problem jest w pierwszej linijce z tym [0], ale ni cholery nie rozumiem jak to naprawić. Głównie dlatego, że nie umiem JS-a oraz nie jestem programista.

#programowanie #programista15k #javascript
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema.
Zacząłem korzystać z TypeScript razem z Vue2. Mam taki problem że stworzyłem komponent, otypowałem propsy i jak zaimportuje komponent i najadę na niego myszką w script to ładnie mi pokazuje typy ale jak już wpisuje go w template to pokazuje mi się typ any i mogę w propsy wrzucić kompletnie inny typ.
Przykładowo mam komponent Item z propsem header: String

import { defineComponent } from 'vue'

export
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@TurboBlejzer: tak jak @banzi napisał, w jQuery korzysta się z $(document).ready. W czystym JS też możesz to zrobić, przenieś sobie do taki js:

document.addEventListener("DOMContentLoaded", function() {
// tutaj wklej Twój kod
}

i wtedy też powinno zacząć działać, bo Twój event listener zostanie utworzony wtedy, gdy wyemitowany zostanie event "DOMContentLoaded", który jest emitowany gdy przeglądarka przeparsuje całą zawartość HTML, wszystkie skrypty itd.
  • Odpowiedz
Mirki, mam problem, z api dostaje obiekty które są konfiguracjami bloków, wrzucam je do pine, teraz gdy klimat na block kopiuje mi je i wrzuca na stronę, problem jest taki że nie mogę się pozbyć referencji, czyli jak zmieniam input na stronie to zmienia mi je we wszystkich obiektach które zostały skopiowane, potrzebuję otworzyć czystą instancję obiektu a dopiero po skopiowaniu nadać mu reaktywność
#vuejs #javascript
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Radaka: dobra nie było pytania, wygląda że wszystko co trafi od razu do pine dostaje proxy, wystarczylo dać ...obiekt przed dodaniem do store używając akcji
  • Odpowiedz
https://jsfiddle.net/5n319twL/

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.
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@scorpio18k:

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
  • Odpowiedz
@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 ||
  • Odpowiedz
Można dostać się do wartość z obiektu mając klucze w tablicy ?
tablica z kluczami może być różna, np.:
--------------
const testObj = {a:{b:{c:{}}}};

const propArr = ["a","b"]
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@scorpio18k: Oczywiście możesz to robić, ale dobrą praktyką jest to, że funkcje nie modyfikują przekazanych do nich obiektów, a co najwyżej tworzą kopie. Ogólnie modyfikacja obiektów może powodować problemy z czytelnością kodu jak i śledzeniem flow aplikacji.
  • Odpowiedz
@scorpio18k:
= {} to jest domyslna wartość dla parametru funkcji
{arg} to jest destrukturyzacja
= 'notset' to jest domyslna wartość dla args

["test",3] to tez jest obiekt który nie ma wlasciwosci arg. pomysl o tym jak o {0:"test",1:3}
  • Odpowiedz
Siemka, ucze sie #react #javascript i od kilku dni utknalem z tym problemem. Probuje sie nauczyc, zeby fetchowac api i wyswietlac jako proponowane w dropdown menu po wpisaniu literek. Jak na przyklad wpisze "d" to ma wyskoczyc podpowiadane "death star", ale mam dwa problemy. Samo fetch w ogole nie dziala, dostaje undefined. W listOfShips tez musi byc jakis problem, bo stronka przez to nie pokazuje nic, napisane, ze
Ramboski - Siemka, ucze sie #react #javascript i od kilku dni utknalem z tym probleme...

źródło: comment_1661775425Sg7johG5i71ocqDT2XaOcY.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Moja nowa mini gra: Find hidden number
Zainspirowana filmem który wczoraj widziałem na kanale Veritasium.

Zasady gry są bardzo proste, zadaniem jest znalezienie swojej liczby która jest ukryta w pudełkach ponumerowanych od 1 do 100 na to zadanie można otworzyć maksymalnie 50 pudełek w innym przypadku przegrywasz.

Dzięki tej mini grze, można łatwo przetestować różne strategie na znalezienie swojej liczby lub po prostu klikać na losowe pudełka ¯\_(ツ)_/¯
aptitude - Moja nowa mini gra: Find hidden number
Zainspirowana filmem który wczoraj...

źródło: comment_1661724333r0J9fTqMDAB1jjuzKvIOeN.jpg

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aptitude: w takim razie chyba nie zrozumiałeś filmiku. Ta strategia nie daje nic *pierwszemu* więźniowi. W pierwszej turze masz zawsze 50% niezależnie od strategii.
  • Odpowiedz