zoukankan      html  css  js  c++  java
  • reduce 之 mixin实现

    语法:

      arr.reduce(callback[, initialValue])

    参数:

        callback:执行数组中每个值的函数,包含四个参数

         accumulator:累加器累加回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue(如下所示)。

         currentValue:数组中正在处理的元素

         currentIndex:数组中正在处理的当前元素的索引。 如果提供了initialValue,则索引号为0,否则为索引为1。

         array:调用reduce的数组

      initialValue:[可选] 用作第一个调用 callback的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。

    function mixin(...objs){
        return objs.reduce((dest, src) => {
            for (var key in src) {
                dest[key] = src[key]
            }
            return dest;    
        });
    }
    
    var dest = mixin({...}, src1, src2, src3);

    在许多框架中,都有 mixin 的类似实现, jQuery 的 extend、YUI 有好几个类似 mixin 的 API,lodash 中有 _.mixin 方法,npm 中的 mixin 模块每个月有上千的下载。

  • 相关阅读:
    Hosts
    Jupyter notebook 文件路径
    [GDAL]在三维场景中显示DEM
    [GDAL]编译64位GDAL1.10
    ArcEngine几何变换中的策略模式
    AE Scene开发中的观察者模式
    象限角和方位角
    帧率控制和渲染帧率
    [3D]1.绘制三角形
    CSLA.Net学习(2)
  • 原文地址:https://www.cnblogs.com/xtreme/p/7685087.html
Copyright © 2011-2022 走看看