var array_of_functions = [
first_function('a string'),
second_function('a string'),
third_function('a string'),
forth_function('a string')
]
array_of_functions[0];
Itu tidak berfungsi sebagaimana dimaksud karena setiap fungsi dalam array dieksekusi ketika array dibuat.
Apa cara yang tepat menjalankan fungsi dalam array dengan melakukan:
array_of_functions[0]; // or, array_of_functions[1] etc.
Terima kasih!
javascript
arrays
function
Nick
sumber
sumber
'a string'
perlu diketahui pada saat array diisi, atau bisakah pemanggil fungsi melewatinya?Jawaban:
dan kemudian ketika Anda ingin menjalankan fungsi yang diberikan dalam array:
sumber
()
setelaharray_of_functions[0]
, meskipun kosong. Saya menghabiskan 20 menit hanya untuk menemukan 'mengapa itu tidak berhasil'.Saya pikir inilah yang ingin dicapai oleh poster asli:
Semoga ini akan membantu orang lain (seperti saya 20 menit yang lalu :-) mencari petunjuk tentang bagaimana memanggil fungsi JS dalam array.
sumber
Tanpa detail lebih lanjut dari apa yang Anda coba capai, kami agak menebak. Tapi Anda mungkin bisa lolos dengan menggunakan notasi objek untuk melakukan sesuatu seperti ini ...
dan untuk memanggil salah satu dari mereka ...
sumber
Atau hanya:
sumber
Saya akan melengkapi utas ini dengan memposting cara yang lebih mudah untuk menjalankan berbagai fungsi dalam Array menggunakan
shift()
metode Javascript yang dijelaskan di sinisumber
Ini pada dasarnya sama dengan
Darin Dimitrov's
tetapi itu menunjukkan bagaimana Anda bisa menggunakannya secara dinamis membuat dan menyimpan fungsi dan argumen. Semoga bermanfaat buat kamu :)sumber
di atas kami melihat beberapa dengan iterasi. Mari kita lakukan hal yang sama menggunakan forEach:
sumber
Ini benar
sumber
opera
denganarray_of_functions
dan Anda mendapatkan hal yang sama. Bagaimana kalau sekarang?Jika Anda melakukan sesuatu seperti mencoba untuk secara dinamis melewati panggilan balik, Anda bisa melewati satu objek sebagai argumen. Ini memberi Anda kendali lebih besar atas fungsi mana yang ingin Anda jalankan dengan parameter apa pun.
sumber
Eksekusi banyak fungsi melalui callback ES6 🤗
sumber
Mungkin itu bisa membantu seseorang.
sumber
Cara singkat untuk menjalankan semuanya:
sumber
probleme dari array fungsi ini tidak dalam "array form" tetapi dalam cara fungsi-fungsi ini disebut ... lalu ... coba ini .. dengan eval sederhana () ...
itu bekerja di sini, di mana tidak ada yang lebih baik melakukan pekerjaan di rumah ... berharap itu akan membantu
sumber
Menggunakan Function.prototype.bind ()
sumber
Saya punya banyak masalah untuk mencoba yang satu ini ... mencoba yang sudah jelas, tetapi tidak berhasil. Itu hanya menambahkan fungsi kosong entah bagaimana.
Saya memecahkannya dengan menggunakan array string, dan kemudian dengan eval:
sumber
Ah man ada begitu banyak jawaban aneh ...
compose
tidak didukung secara default, tetapi ada perpustakaan seperti ramda, lodash, atau bahkan redux yang menyediakan alat inisumber
Anda mendapat beberapa jawaban teratas di atas. Ini hanyalah versi lain dari itu.
}
sumber
sumber