var array_of_functions = [
first_function('a string'),
second_function('a string'),
third_function('a string'),
forth_function('a string')
]
array_of_functions[0];
To nie działa zgodnie z przeznaczeniem, ponieważ każda funkcja w tablicy jest wykonywana podczas tworzenia tablicy.
Jaki jest właściwy sposób wykonania dowolnej funkcji w tablicy, wykonując:
array_of_functions[0]; // or, array_of_functions[1] etc.
Dzięki!
javascript
arrays
function
Nacięcie
źródło
źródło
'a string'
musi być znana w momencie zapełniania tablicy, czy też obiekt wywołujący funkcję może ją przekazać?Odpowiedzi:
a potem kiedy chcesz wykonać daną funkcję w tablicy:
źródło
()
poarray_of_functions[0]
, nawet jeśli jest pusty. Spędzam około 20 minut, aby dowiedzieć się, dlaczego to nie zadziałało.Myślę, że to właśnie miał na celu oryginalny plakat:
Miejmy nadzieję, że pomoże to innym (jak ja 20 minut temu :-), szukającym jakiejkolwiek wskazówki, jak wywoływać funkcje JS w tablicy.
źródło
Bez większej ilości szczegółów tego, co próbujesz osiągnąć, trochę zgadujemy. Ale możesz być w stanie uciec z użyciem notacji obiektowej, aby zrobić coś takiego ...
i zadzwonić do jednego z nich ...
źródło
Lub tylko:
źródło
Uzupełniłbym ten wątek, zamieszczając łatwiejszy sposób wykonywania różnych funkcji w tablicy przy użyciu
shift()
metody JavaScript pierwotnie opisanej tutajźródło
Zasadniczo jest to to samo, co,
Darin Dimitrov's
ale pokazuje, jak można go używać do dynamicznego tworzenia i przechowywania funkcji i argumentów. Mam nadzieję, że Ci się przyda :)źródło
powyżej widzieliśmy niektóre z iteracjami. Zróbmy to samo, używając forEach:
źródło
To jest poprawne
źródło
opera
zarray_of_functions
i masz to samo. A teraz?Jeśli robisz coś takiego, jak próba dynamicznego przekazywania wywołań zwrotnych, możesz przekazać pojedynczy obiekt jako argument. Daje to znacznie większą kontrolę nad funkcjami, które chcesz wykonywać z dowolnym parametrem.
źródło
Wykonywanie wielu funkcji poprzez wywołanie zwrotne ES6 🤗
źródło
Może to komuś pomoże.
źródło
Krótki sposób, aby je wszystkie uruchomić:
źródło
problem z tymi tablicami funkcji nie ma "postaci tablicowej", ale w sposobie, w jaki te funkcje są nazywane ... wtedy ... spróbuj tego ... z prostym eval () ...
to działa tutaj, gdzie nic górnego nie wykonywało pracy w domu ... mam nadzieję, że to pomoże
źródło
Korzystanie z funkcji Function.prototype.bind ()
źródło
Mam wiele problemów, próbując rozwiązać ten problem ... wypróbowałem oczywiste, ale nie zadziałało. W jakiś sposób dodaje pustą funkcję.
Rozwiązałem to używając tablicy ciągów, a później z eval:
źródło
Człowieku, jest tyle dziwnych odpowiedzi ...
compose
nie jest domyślnie obsługiwany, ale istnieją biblioteki, takie jak ramda, lodash, a nawet redux, które zapewniają to narzędzieźródło
masz kilka najlepszych odpowiedzi powyżej. To tylko kolejna wersja tego.
}
źródło
źródło