首页 > 试题广场 >

使用 apply 调用函数

[编程题]使用 apply 调用函数
  • 热度指数:53556 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
实现函数 callIt,调用之后满足如下条件
1、返回的结果为调用 fn 之后的结果
2、fn 的调用参数为 callIt 的第一个参数之后的全部参数
示例1

输入

输出

头像 夜寻极光。
发表于 2021-08-10 19:28:41
apply(null,[]) apply方法第一个参数,是要替代指向的对象,这里没有要替代的,写null,null表示指向全局。这里的使用apply目的只是想要获取callIt的参数。arguments 是一个对应于传递给函数的参数的类数组对象。 function callIt(fn) { 展开全文
头像 T1mLee
发表于 2019-08-27 11:31:59
function callIt(fn) { let args = Array.prototype.slice.call(arguments, 1) return fn.apply(this, args) } Tim的资源站
头像 jack_21
发表于 2021-07-14 16:58:57
超简单不使用 apply 调用函数 function callIt(fn) { let arr = []; for(let i=0;i<arguments.length;i++){ arr.push(arguments[i]); } //ap 展开全文
头像 牛客760685038号
发表于 2021-09-12 15:40:39
function callIt(fn) { let arr = Array.prototype.slice.call(arguments,1) return fn.apply(null,arr) }Array.prototype.slice.call(arr, ?start 展开全文
头像 agul
发表于 2021-07-23 21:56:23
function callIt(fn) { let arr = [...arguments] let b = [] for (let i = 1; i < arr.length; i++) { b.push(arr[i]) } retur 展开全文
头像 优秀的阿二
发表于 2023-07-24 17:21:39
{"html":"<!DOCTYPE html>\n<html>\n\n<head>\n <meta charset=\"UTF-8\">\n <style>\n / 展开全文
头像 前端学不会
发表于 2021-01-04 18:30:13
data:2021-01-04二次封装函数:已知函数 fn 执行需要 3 个参数。请实现函数 partial,调用之后满足如下条件:1、返回一个函数 result,该函数接受一个参数2、执行 result(str3) ,返回的结果与 fn(str1, str2, str3) 一致 function 展开全文
头像 牛客606162351号
发表于 2023-05-26 10:45:50
function callIt(fn,...rest) { return fn.apply(null,rest); }
头像 七七零
发表于 2024-06-15 10:01:32
function callIt(fn) { let arr = Array.from(arguments) arr.shift() return fn(...arr) }
头像 牛客HT猫L
发表于 2021-08-24 09:44:43
apply 的所有参数都必须放在一个数组里面传进去 function callIt(fn) { //arguments 是一个对应于传递给函数的参数的类数组对象。 let r = [...arguments]; //slice(start, end) 方法可提取字符串的某个部分,并 展开全文