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 模块每个月有上千的下载。

  • 相关阅读:
    9.17考试
    Something
    tesuto-Mobius
    7.22考试
    填坑...P1546 最短网络 Agri-Net
    P1125 笨小猴
    P2822 组合数问题
    致我们曾经刷过的水题
    Luogu P1186 玛丽卡
    Luogu P1726 上白泽慧音
  • 原文地址:https://www.cnblogs.com/xtreme/p/7685087.html
Copyright © 2011-2022 走看看