必威体育Betway必威体育官网
当前位置:首页 > IT技术

JS reduce 用法

时间:2019-10-06 13:45:40来源:IT技术作者:seo实验室小编阅读:75次「手机版」
 

reduce用法

定义: reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

语法:

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

参数

参数描述
function(total,currentValue, index,arr)必需。用于执行每个数组元素的函数。

函数参数:

参数描述
total必需。初始值, 或者计算结束后的返回值。
currentValue必需。当前元素
currentIndex可选。当前元素的索引
arr可选。当前元素所属的数组对象。
initialValue可选。传递给函数的初始值

ES6,之前繁杂的写法;

例;我们想遍历数组中的元素做拼接或者累加操作

<script>
        var numbers = [1, 2, 3, 4, 5, 6];
        function Sum(total, num) {
            return total + num;
        }
        function myFunction(item) {
            document.getelementbyid("demo").innerHTML = numbers.reduce(Sum);
        }
    </script>
    <button οnclick="myFunction()">add</button>
    <p id="demo"></p>

ES6 执行同样操作写法,可以大大减少我们的代码量,以及提高代码的可阅读性

        /*
        参数1.prev 上一次返回的值,
        参数2.item 本次的值,
        参数3.最后一个参数(prev初始值),涉及到一个对象类型,例如如果原数组里面存的是数字,最后一个参数传空数组[]的时候,
        默认数据是字符串拼接,这时候返回值也就是123456
        如果我们想做到里面的数组迭代相加,那我们在最后的参数传一个数字类型的参数,例如我们传0,这时候就按照数字相加,
        这里还需要注意的就是传的时候不能加" "如果加了引号还认为是字符串的拼接   
        */
        let sum = [1, 2, 3, 4, 5, 6].reduce((prev, item) => { return prev + item }, 1);
  这里需要注意的是最后一个参数,initialValue,类型的选择如文中红色标注的传入相应类型就会暗转相应类型的数据去进行操作。

相关阅读

减少运动媒体查询prefers-reduced-motion

简化运动的简史 在2013年iOS 7对操作系统的视觉效果进行了重新设计,更改包括半透明和模糊,更简化的“平面”用户界面,以及诸如全屏缩

[MapReduce] Counter

Definition Counter Counter是hadoop mapreduce framework所提供的一个工具,用来追踪mapreduce job的进度。Counter表示全局的计数

redux(二)reducer的合并与拆分

页面效果(一共是Todos和Number两个不相干的组件):redux配置文件和组件结构:相当于是在前一篇中的结构,将store.js和抽离了出来,并且将两

MapReduce详解

目录 1 MapReduce原理 1.1 为什么要MapReduce 1.2 MapReduce框架结构及核心运行机制 1.2.1 结构 1.2.2 MR程序运行流程 1.3 MapT

Hadoop之MapReduce原理分析

前言 上一篇我们分析了一个MapReduce在执行中的一些细节问题,这一篇分享的是MapReduce并行处理的基本过程和原理。 M

分享到:

栏目导航

推荐阅读

热门阅读