この解答例は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 resultlet called = falseの2つの変数を宣言します。 そして、実際にキャッシュ処理を行う無名関数を戻します。 この無名関数は、最初に呼び出された場合にcalledtrueにし、funcを呼び出します。 結果はresultに保存され、2回目以降に呼び出された場合には、キャッシュされたresultが返されます。 この方法で、「最多1回の呼び出し制限」の実装が完了します。