var array_of_functions = [
first_function('a string'),
second_function('a string'),
third_function('a string'),
forth_function('a string')
]
array_of_functions[0];
Cela ne fonctionne pas comme prévu car chaque fonction du tableau est exécutée lorsque le tableau est créé.
Quelle est la bonne façon d'exécuter une fonction du tableau en faisant:
array_of_functions[0]; // or, array_of_functions[1] etc.
Merci!
javascript
arrays
function
pseudo
la source
la source
'a string'
être connu au moment où le tableau est peuplé, ou l'appelant de la fonction peut-il le transmettre?Réponses:
et ensuite lorsque vous souhaitez exécuter une fonction donnée dans le tableau:
la source
()
aprèsarray_of_functions[0]
, même s'il est vide. Je passe environ 20 minutes à trouver «pourquoi cela n'a pas fonctionné».Je pense que c'est ce que l'affiche originale voulait accomplir:
J'espère que cela aidera les autres (comme moi il y a 20 minutes :-) à la recherche d'un indice sur la façon d'appeler des fonctions JS dans un tableau.
la source
Sans plus de détails sur ce que vous essayez d'accomplir, nous devinons un peu. Mais vous pourrez peut-être vous en sortir en utilisant la notation objet pour faire quelque chose comme ça ...
et d'appeler l'un d'entre eux ...
la source
Ou juste:
la source
Je voudrais compléter ce fil en publiant un moyen plus simple d'exécuter diverses fonctions dans un tableau en utilisant la
shift()
méthode Javascript décrite à l'origine icila source
C'est fondamentalement le même que,
Darin Dimitrov's
mais cela montre comment vous pouvez l'utiliser pour créer et stocker dynamiquement des fonctions et des arguments. J'espère que cela vous sera utile :)la source
au-dessus, nous en avons vu avec itération. Faisons la même chose en utilisant forEach:
la source
C'est correct
la source
opera
pararray_of_functions
et vous obtenez la même chose. Et maintenant?Si vous faites quelque chose comme essayer de passer dynamiquement des rappels, vous pouvez passer un seul objet comme argument. Cela vous donne un meilleur contrôle sur les fonctions que vous souhaitez exécuter avec n'importe quel paramètre.
la source
Exécution de nombreuses fonctions via un callback ES6 🤗
la source
Peut-être que cela peut aider quelqu'un.
la source
Un court moyen de les exécuter tous:
la source
les problèmes de ces tableaux de fonctions ne sont pas sous la forme d'un "tableau" mais de la façon dont ces fonctions sont appelées ... alors ... essayez ceci ... avec un simple eval () ...
ça marche ici, là où rien de haut ne faisait le travail à la maison ... j'espère que ça aidera
la source
Utilisation de Function.prototype.bind ()
la source
J'ai beaucoup de problèmes à essayer de résoudre celui-ci ... j'ai essayé l'évidence, mais cela n'a pas fonctionné. Il ajoute simplement une fonction vide.
Je l'ai résolu en utilisant un tableau de chaînes, et plus tard avec eval:
la source
Ah mec, il y a tellement de réponses étranges ...
compose
n'est pas pris en charge par défaut, mais il existe des bibliothèques comme ramda, lodash ou même redux qui fournissent cet outilla source
vous avez les meilleures réponses ci-dessus. Ceci est juste une autre version de cela.
}
la source
la source