reduce用法

//实现一个repeat方法,要求如下:

// 需要实现的函数

// const repeatFunc = repeat(console.log, 4, 3000);

// repeatFunc(“hello world”); //会输出4次 hello world, 每次间隔3秒

//利用map实现
function repeat(func, times, wait) {
// 补全
return function (text) {
let arr = [];
for (let i = 0; i < times; i++) {
arr.push(i * 3000);
}

arr.map((p) => {
  setTimeout(() => {
    console.log(text);
  }, p);
});

};
}
//利用reduce实现
function repeat(func, times, wait) {
// 补全
return function (text) {
let arr = [];
for (let i = 0; i < times; i++) {
arr.push(3000);
}

arr.reduce((ac, p) => {
  setTimeout(() => {
    console.log(text);
  }, ac);
  return ac + p;
}, 0);

};
}
// 使下面调用代码能正常工作

const repeatFunc = repeat(console.log, 4, 3000);

repeatFunc(“hello world”); //会输出4次 hello world, 每次间隔3秒

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值