Jest sobie taki kod https://pastebin.com/yRMr6fBU (z 5 rozdziału Eloquent JavaScript), a tutaj array (w przykładzie jest przekonwertowany z JSONa pod zmienną ancestry)

I nie za bardzo ogarniam co jest zwracane tutaj

function sharedDNA(person, fromMother, fromFather) {
if (person.name == "Pauwels van Haverbeke")
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PolaroidalnY: Ten return zwraca 1 lub średnią jaką matka i ojciec obiektu person dzielą z panem Puawelsem ;)

reduceAncestors przy pomocy valueFor, dzięki rekurencji tworzy drzewo wywołań funkcji sharedDNA (dla każdej osoby spokrewnionej z osobą z wywołania valueFor(person) w reduceAncestors. Czyli:

sharedDNA(byName["Philibert Haverbeke"], sharedDNA(byName["Emma de Milliano"]....

Przy wykonywaniu ("zwijaniu drzewa") tych wywołań sharedDNA przekazuje "sam sobie" albo 1 albo tę średnią z poprzednich wywołań.
  • Odpowiedz
Eh, Mireczki. Zrobiłem 3 zadanie, z 5 rozdziału Eloquent Javascript, w którym należało obliczyć średnią wieku w poszczególnych stuleciach.

Oryginalna treść:

  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PolaroidalnY: Działać działa, ale z każdym dodatkowym wiekiem będziesz musiał dopisywać ifa i dodawać element do tablicy.
Ten rozdział z tego co widzę uczy HOF i na wykorzystaniu tego powinieneś się skupić.
Przeczytaj rozdział jeszcze raz, przepisz kod.

btw. Gdzieś widziałem Eloquent JavaScript z adnotacjami. Poszukaj, może Ci coś rozjaśnią.
  • Odpowiedz
Robię pierwsze ćwiczenie z Eloquent JavaScript, z 4 rozdziału "The sum of a range"
Jego piersza część to:

Write a range function that takes two arguments, start and end, and returns an array containing all the numbers from start up to (and including) end.

Next, write a sum function that takes an array of numbers and returns the sum of these numbers. Run the previous program and see whether it does indeed
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach