答题说明
做题时间: 30分钟,能做多少做多少
加分项:
使用TypeScript/ES6编写
函数有明确的输入输出
类型定义明确合理
边界情况处理完善
注释清晰
采用声明式编程
一、函数限频
已知一个分页加载的卡券列表页,只要页面滚动到底部就向服务器发起请求,加载下一页卡券数据。
由于滚动事件非常频繁,过多的请求导致服务器压力很大。
请编写一个函数,减少上述场景发起请求的频率
/**
* @param {Function} handler 逻辑函数
* @param {number} gap 间隔时间(毫秒)
* @returns {Function} 包裹函数
*/
const limit = (handler, gap) => {
};
二、计算微信运动步数
已知小明2020-08-16至2020-09-15的微信运动步数数据如下:
// steps[].step 步数
// steps[].timestamp 时间戳
const steps = [
{
step: 1753, timestamp: 1597507200000 },
{
step: 1637, timestamp: 1597593600000 },
{
step: 6216, timestamp: 1597680000000 },
{
<