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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

lodash的运用的更多相关文章

  1. 延迟求值-如何让Lo-Dash再提速x100?

    「注释」作者在本文里没有说明这么一个事实: 目前的版本Lo-Dash v2.4.1并没有引入延迟求值的特性,Lo-Dash 3.0.0-pre中部分方法进行了引入,比如filter(),map(),r ...

  2. 函数式 js 接口实现原理,以及 lodash/fp 模块

    函数式 js 接口 之前在 youtube 上看到一个技术视频,讲“underscore.js的接口为什么不好用”,以及什么样的接口更好用.演讲者是 lodash.js 的作者,他提出了一种“全面函数 ...

  3. lodash

    lodash常用函数一 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  4. lodash 替换 underscore

    不少知名项目都在用lodash替换underscore lodash  Lazy evaluation 英文原文:http://filimanjaro.com/blog/2014/introducin ...

  5. JavaScript工具库之Lodash

    你还在为JavaScript中的数据转换.匹配.查找等烦恼吗?一堆看似简单的foreach,却冗长无趣,可仍还在不停的repeat it!也许你已经用上了Underscore.js,不错,你已经进步很 ...

  6. inoic start projectname sidemenu报错 - Error: Cannot find module 'lodash._baseslice'

    inoic start projectname sidemenu报错 - Error: Cannot find module 'lodash._baseslice' 在公司的电脑上出现过这个错误,后来 ...

  7. lodash链式使用

    chain var _ = require('lodash'); var user1 = { name: 'zhangsan', height: 180, weight: 120 }; var use ...

  8. lodash常用方法1--查询

    1.find var _ = require('lodash'); var user1 = { name: 'zhangsan', height: 180, weight: 120 }; var us ...

  9. 高性能的JavaScript库---Lodash

    上周在仿做Nodejs社区的时候,遇到了lodash这个javascript库,很惭愧,那也是我第一次听说lodash.人嘛,对于新鲜的事物总是会或多或少感到些好奇的,于是就毫不犹豫地去lodash官 ...

  10. lodash源码(2)

    1.flatten 对深层嵌套数组的抹平 _.flatten([1, [2, 3, [4]]]);* // => [1, 2, 3, [4]]** // using `isDeep`* _.fl ...

随机推荐

  1. lightning mdb 源代码分析(2)

    本系列前一篇已经分析了lightningmdb的整体架构和主要的数据结构.本文将介绍一下MMAP原理以及lmdb中如何使用它. 1. Memory Map原理 内存映射文件与虚拟内存有些类似,通过内存 ...

  2. php广告显示设置存放记录的目录代码

    <?php #########随机广告显示########## function myads(){ $dir="ads"; #设置存放记录的目录 //$dir="a ...

  3. java的包装类(转)

    Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...

  4. laravel transaction : laravel 的事务是不支持eloquent的, 要用DB::的方式

    数据库事务处理# 你可以使用 transaction 方法,去执行一组数据库事务处理的操作: DB::transaction(function() { DB::table('users')->u ...

  5. PHP 设计模式 笔记与总结(4)PHP 链式操作的实现

    PHP 链式操作的实现 $db->where()->limit()->order(); 在 Common 下创建 Database.php. 链式操作最核心的地方在于:在方法的最后 ...

  6. spring mvc和spring配置扫描包问题

    spring mvc和spring俩配置文件,其中都要配置扫描包. <context:component-scan base-package="com.controller" ...

  7. 百度BAE环境下WordPress安装教程

    不了解代码的童鞋慎重使用这种方法哦,安装过程中可能会出现一些简单的错误. 前两天有位网友在QQ上联系我,他告诉我自己在百度BAE上安装WordPress程序总是出错.我让他按照网络上的教程逐步安装,但 ...

  8. ip sevices

    http://www.ip138.com/ip2city.asp http://www.bliao.com/ip.phtml http://www.whereismyip.com/ http://ww ...

  9. fenshijin

    #include<stdio.h> int map[6][4]={8,0,18,10,      13,10,15,20,      10,50,13,30,               ...

  10. Java:按值传递还是按引用传递详细解说

    前天在做系统的时候被Java中参数传递问题卡了一下,回头查阅了相关的资料,对参数传递问题有了新的了解和掌握,但是有个问题感觉还是很模糊,就是Java中到底是否只存在值传递,因为在查阅资料时,经常看到有 ...