• lodash的运用


    Object 对象

    1._.merge(object, [sources])

    此方法类似于_.assign,除了它递归地将源对象的自有和继承的可枚举字符串键控属性合并到目标对象中。 如果存在目标值,将跳过解析为undefined的源属性。 数组和纯对象属性以递归方式合并。 其他对象和值类型将通过赋值覆盖。 源对象从左到右应用。 后续源覆盖先前源的属性分配。

    var object = {

      'a': [{ 'b': 2 }, { 'd': 4 }]
    };
     
    var other = {
      'a': [{ 'c': 3 }, { 'e': 5 }]
    };
     
    _.merge(object, other);
    // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
    会保留原先的数据结构,如果通数据结构上有重复就会覆盖. 
    var aa = {
    name: 'ee',
    age: 44,
    arr: [{
    name: '333',
    age: 444,
    yy: 99
    }]
    };

    _.merge(aa, {
    name: 'rr',
    age: 33,
    arr: [{
    name: '44',
    age: 555,
    uu: 999
    }]

    });
    /*结果 arr数组只有一个对象,所以结果是一个对象.并且同名的属性会被覆盖,不同名的会被添加*/
    { name: 'rr',
    age: 33,
    arr: [ { name: '44', age: 555, yy: 99, uu: 999 } ] }

    /********************/
    var bb = {
    arr: [{yy: 99},{kkk:9099}]
    };
    var cc = {
    arr: [{uu: 999}]
    };
    _.merge(bb, cc);

    // 结果{ arr: [ { yy: 99, uu: 999 }, { kkk: 9099 } ] }
    //原先的数据结构:arr是数组,包含两个对象,所以合并结果也是两个对象.

    /***************************/
    var bb = {
    arr: [{yy: 99}]
    };
    var cc = {
    arr: [{uu: 999},{kkk:9099}]
    };
    _.merge(bb, cc);

    //结果:{ arr: [ { yy: 99, uu: 999 }, { kkk: 9099 } ] }
    与上一例相同
    2._.assignIn(object, [sources])
    这个方法类似于_.assign,除了它迭代自己和继承源属性。
    function Foo() {
      this.a = 1;
    }
     
    function Bar() {
      this.c = 3;
    }
     
    Foo.prototype.b = 2;
    Bar.prototype.d = 4;
     
    _.assignIn({ 'a': 0 }, new Foo, new Bar);
    // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }
     
    3._.assign(object, [sources])
    将源对象的自己的可枚举字符串键控属性分配给目标对象。 源对象从左到右应用。 后续源覆盖先前源的属性分配。
    function Foo() {
      this.a = 1;
    }
     
    function Bar() {
      this.c = 3;
    }
     
    Foo.prototype.b = 2;
    Bar.prototype.d = 4;
     
    _.assign({ 'a': 0 }, new Foo, new Bar);
    // => { 'a': 1, 'c': 3 }
     
     Array 数组
    1._.compact(array) 紧凑  
    会去掉falsenull0""undefined, and NaN are falsey(Boolean判断为false的值)
    Creates an array with all falsey values removed. The values falsenull0""undefined, and NaN are falsey.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    记录:将图片数据生成 tfrecords 文件并在训练使用时读取
    记录:EM 算法估计混合高斯模型参数
    记录:Ubuntu 18.04 安装 tensorflow-gpu 版本
    记录:tf.saved_model 模块的简单使用(TensorFlow 模型存储与恢复)
    记录:TensorFlow 中的 padding 方式
    mybatis list映射
    idea使用插件mybatis-generator-plus生成mapper文件(mysql亲测可用)
    Element-UI树形表格
    Mysql5.7版本ERROR 1055问题
    为DISTINCT、GROUP BY和ORDER BY效率问题提提速
  • 原文地址:https://www.cnblogs.com/jay--zhang/p/5955568.html
Copyright © 2020-2023  润新知