首页 > 其他分享 >手写 js数组reduce

手写 js数组reduce

时间:2022-08-18 01:11:41浏览次数:66  
标签:return reduce list length js init 手写 prev

function reduce(list, fn, ...init) {
    let prev = init.length > 0 ? init[0] : list[0];
    for (let i = init.length > 0 ? 0 : 1; i < list.length; i++) {
        prev = fn(prev, list[i], i);
    }
    return prev;
}
console.log(
    reduce([1, 2, 3], (prev, cur, index) => {
        return prev + cur;
    })
);

MDN 文档:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

标签:return,reduce,list,length,js,init,手写,prev
From: https://www.cnblogs.com/beileixinqing/p/16597362.html

相关文章

  • js
    typeof运算符和instanceof运算符以及isPrototypeOf()方法的区别typeof是一个运算符,用于检测数据的类型,比如基本数据类型null、undefined、string、number、boolean,以及引......
  • 手写promise.all和 promise.race
    //promise.allfunctionpromiseAll(promisesArr){returnnewPromise((resolve,reject)=>{//定义一个计数器letcount=0;const......
  • js实现 delay 和 sleep函数
    console.log("====sleep===");//sleep等待几秒constsleep=(seconds)=>newPromise((resolve)=>setTimeout(resolve,seconds));asyncfunctionsleepTes......
  • 手写实现 js 中的bind,并实现 softBind
    //bind会返回一个硬绑定的新函数,新函数会使用指定的第一个thisCtx去调用原始函数,并将其它参数传给原始函数。硬绑定会降低函数的灵活性,在绑定之后不能通过显式或硬绑定......
  • 817笔记(轮播图js)
    网页轮播图步骤:鼠标经过轮播图模块,左右按钮显示,离开隐藏左右按钮点击右侧按钮一次,图片往左播放一次,以此类推,左侧按钮同理图片播放的同时,下面小圆圈模块跟随一起变化......
  • [js] uncaught exception: Error: listDatabases failed
    当mongo搭建的是replicaset集群。如果你登录某一台SECONDARY节点执行命令showdbs报错2022-08-16T15:20:00.606+0800EQUERY[js]uncaughtexception:Error:list......
  • Js的cookie和session
    Cookie的概念:保存在客户端一个字符串属性,读取cookie的值时,得到一个字符串;cookie除了name名和value值外,还有expires过期时间、path路径、domain域、以及secure安全。JS代码......
  • 五,手写SpringMVC框架,过滤器的使用
    8.过滤器8.1编写字符过滤器CharacterEncodingFilter复制项目mymvc4,新建项目mymvc5package com.hy.filter; import java.io.IOException; import javax.......
  • 16js运动
     运动概述运动主要是动画的操作,主要是操作某个document元素的属性变化(位置变化)运动主要的三步骤使用定时器来定时更改对应的内容实时获取对应的元素的属性及相关......
  • SpringMvc_06Jackson,Controller返回json数据
    初识json 通过json对象来实现,但是会有乱码问题  乱码问题可以通过Springmvc-servlet配置    同样的,可以通过RestController让其不仅过视图解析器,返回一个......