Metoda Array.reduce() w Praktyce - JavaScript by Overment

preview_player
Показать описание
Metoda reduce ma wiele zastosowań w JavaScripcie, chociaż często łączona jest ze sprowadzaniem wielu wartości do jednej.

- jak znaleźć średnią wartość w tablicy
- jak usunąć duplikaty z tablicy
- jak "spłaszczyć" zagnieżdżone tablice i obiekty
- jak zmodyfikować strukturę obiektu Chcesz zawsze pozostać na bieżąco z programowaniem?

📩 Zapisz się na newsletter:

🎓 Więcej moich kursów znajdziesz na:

Tworząc #overment (np. kursy i tutoriale) najwyższą wartością jest dla mnie Twój czas. Moja strategia polega na tym, aby dotrzeć do źródła tematu i świadomie odrzucić niepotrzebne elementy. W ten sposób w prostych słowach wyjaśniam Ci to, co jest naprawdę istotne.

Рекомендации по теме
Комментарии
Автор

Podobał Ci się ten film? Upewnij się, że zobaczysz kolejne:

overment
Автор

Tak naprawdę do obliczenia średniej wartości tablicy w zupełności wystarczy coś takiego:

orders.reduce((total, amount, index, array) => total + amount / array.length, 0);

To ludzie przyjęli sobie, że najpierw się dodaje a potem dzieli bo tak jest wygodniej, komputerowi to nie robi różnicy, ale matematycznie jest to również całkowicie poprawny sposób. Kolejność wykonywania działań w tym przypadku nie ma znaczenia bo i tak dzielimy każdą liczbę i potem dodajemy to do wartości total. Wynik może być nieco inny ze względu na to jak JS interpretuje liczby (mantysa i te sprawy), ale i tak z reguły używa się Math.round(), lub .toFixed() więc nie ma to znaczenia.

Michal__d
Автор

Najlepsze na Twoim kanale jest chyba to, że przekazujesz małe, ale bardzo konkretne partie materiału. Dziękuję :) Rzeczy, o których niby wiem, niby stosuję, stają się dzięki Tobie jeszcze jaśniejsze

sanluiro
Автор

i wreszcie rozumiem :D dzieki za filmik, bardzo pomocny!

agatamaria
Автор

Ahh, wielki, wyczekiwany powrót :)
Podziwiam, że łączysz pracę i dwa dosyć duże projekty, a one nie straciły nic na jakości.

Oczywiście kolejny świetny odcinek, pokazujący, że w JS ogranicza nas jedynie wyobraźnia ^^

xSlavko
Автор

jakbyś w komentarzu jeszcze napisał dokładnie w tych trudniejszych przykładach co robi dana linijka bo teraz trzeba dochodzić chciałem się nauczyć reduce a tu jest jeszcze 10 innych metod w zawiłych przykładach które nawet nie są obsługiwane wczystym js ..

majkus
Автор

Można powiedzieć, że reduce dla liczenia średniej, wykonywane jest rekurencyjnie?

Xanq
Автор

skąd wziac te gotowe metody jak np. flat czy concat? One sa importowane z jakis bibliotek? Gdzie moge poczytac o tym?

Pasadena
Автор

Dosłownie kilka dni temu robiłem sprawdzenie czy występują duplikaty i zrobiłem to w ten sposób:

const newArray = [];
this.numbers.forEach((nr, index, self) => {
if (self.indexOf(nr) === index) {
newArray.push(nr);
}
});

Zupełnie zapomniałem że mogę to zrobić Setem, dzięki za film :)

EDIT: wpadłem też na pomysł że można to zrobić:

const newArrayNumbers = numbers.filter((nr, index, self) => self.indexOf(nr) === index)

szczeczaczoszczeczek
Автор

a co to za rozszerzenie obok console.log() /*?*/ a potem 56.08

Nimplex
Автор

suma bieżącego i poprzedniego elementu? chyba nie do końca.. bardziej sumę wartości poprzedniego callback i bieżącego elementu... musiałem doczytać bo trochę to mylące :)

hofas
Автор

Rozwiązałem to zadanie bez użycia wyrażenia regularnego przez co chyba bardziej patologicznie się nie dało :P

Przekrent
Автор

dzięki, pomogłeś mi zrozumieć taki jeden okropny algorytm z kursu który przerabiam..
muszę tylko wspomnieć że bardzo mnie dekoncentrował twój kursor (;

MiSt