2666. 只允许一次函数调用

简介: 2666. 只允许一次函数调用

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

给定一个函数 fn ,它返回一个新的函数,返回的函数与原始函数完全相同,只不过它确保 fn 最多被调用一次。

  • 第一次调用返回的函数时,它应该返回与 fn 相同的结果。
  • 第一次后的每次调用,它应该返回 undefined 。

解题思路

函数在第一次被调用时会执行fn函数,并将其返回值保存在变量res中。然后,将fn重新赋值为一个空函数,这样在之后再次调用新函数时,fn函数就不会再被执行。

最后,新函数返回之前保存的res值。

这个函数的作用是确保fn函数只能被调用一次。

AC代码

/**
 * @param {Function} fn
 * @return {Function}
 */
var once = function(fn) {
    return function(...args){
        const res = fn(...args);
        fn = ()=>{};
        return res;
    }
};
/**
 * 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
 */

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

目录
相关文章
|
2月前
练习函数调用
练习函数调用。
22 0
C4.
|
1月前
|
Python
Phython调用函数
Phython调用函数
C4.
13 0
函数调用的方式有几种
函数调用的方式有几种
|
1月前
|
存储 算法 Python
调用函数
调用函数
20 1
|
1月前
|
C++
14函数调用
14函数调用
23 0
|
4月前
函数调用
输出十行十列的星号(要求用函数调用方式解决)。
24 1
|
9月前
|
C++
函数的传值调用和传址调用
函数的传值调用和传址调用
|
10月前
|
编译器
【为什么】将指针传递给函数
【为什么】将指针传递给函数
|
11月前
|
C语言
【C语言函数调用详解】——传值调用&传址调用
【C语言函数调用详解】——传值调用&传址调用
231 0
|
11月前
14-函数调用运算符重载
14-函数调用运算符重载

热门文章

最新文章