この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
46. `_.once()`を実装する
function once(func) { let result; let called = false; return function (...args) { if (!called) { called = true; result = func.apply(this, args); } return result; };}
まず、once()関数は引数として関数funcを受け取ります。
内部で、結果をキャッシュするためにlet resultとlet called = falseの2つの変数を宣言します。
そして、実際にキャッシュ処理を行う無名関数を戻します。
この無名関数は、最初に呼び出された場合にcalledをtrueにし、funcを呼び出します。
結果はresultに保存され、2回目以降に呼び出された場合には、キャッシュされたresultが返されます。
この方法で、「最多1回の呼び出し制限」の実装が完了します。