Leetcode #Allow One Function Call
Memandangkan fungsi fn, kembalikan fungsi baharu yang sama dengan fungsi asal kecuali ia memastikan fn dipanggil paling banyak sekali.
Kali pertama fungsi yang dikembalikan dipanggil, ia sepatutnya mengembalikan hasil yang sama seperti fn.
Setiap kali ia dipanggil, ia akan kembali tidak ditentukan.
Contoh 1:
Input:
fn = (a,b,c) => (a + b + c), panggilan = [[1,2,3],[2,3,6]]
Output:
**Explanation:**
konst sekaliFn = sekali(fn);
onceFn(1, 2, 3); // 6
sekaliFn(2, 3, 6); // undefined, fn tidak dipanggil
**Example 2:** **Input:** ```fn = (a,b,c) => (a * b * c), calls = [[5,7,4],[2,3,6],[4,6,8]]``` **Output:** ```[{"calls":1,"value":140}]``` **Explanation:**
konst sekaliFn = sekali(fn);
sekaliFn(5, 7, 4); // 140
onceFn(2, 3, 6); // undefined, fn tidak dipanggil
sekaliFn(4, 6, 8); // undefined, fn tidak dipanggil
**Constraints:** `calls` is a valid JSON array
1 <= panggilan.panjang <= 10
1 <= panggilan[i].panjang <= 100
2 <= JSON.stringify(panggilan).panjang <= 1000
*Solution* In this case, we are required to create a higher-order function(a function that returns another function) [Read more about high-order functions here](https://www.freecodecamp.org/news/higher-order-functions-explained/#:~:text=JavaScript%20offers%20a%20powerful%20feature,even%20return%20functions%20as%20results.) We should make sure that the original function `fn` is only called once regardless of how many times the second function is called. If the function fn has been not called, we should call the function `fn` with the provided arguments `args`. Else, we should return `undefined` _Code solution_ ``` sh /** * @param {Function} fn * @return {Function} */ var once = function (fn) { // if function === called return undefined, // else call fn with provide arguments let executed = false; let result; return function (...args) { if (!executed) { executed = true; result = fn(...args); return result; } else { return undefined; } } }; /** * let fn = (a,b,c) => (a + b + c) * let onceFn = once(fn) * * onceFn(1,2,3); // 6 * onceFn(2,3,6); // returns undefined without calling fn */Atas ialah kandungan terperinci Leetcode #Allow One Function Call. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ganti aksara rentetan dalam javascript

jQuery mendapatkan padding/margin elemen

HTTP Debugging dengan Node dan HTTP-Console

Tutorial Persediaan API Carian Google Custom
