lodash 常用总结
_.merge 合并源对象的属性到目标对象中
merge(object, [sources])
merge
遇到相同属性的时候,如果属性值为纯对象(plain object)或者集合(collection)时,不是用后面的属性值去覆盖前面的属性值,而是会把前后两个属性值合并。
如果源对象的属性值为 undefined
,则会忽略该属性。
merge({},{ a: 1 },{ b: { c: 2, d: 3} },{ b: { e: 4 } })
//结果
{ a: 1, b: { c: 2, d: 3, e: 4 } }
------------------------------------------------
/ 合并集合
var users = {
'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
};
var ages = {
'data': [{ 'age': 36 }, { 'age': 40 }]
};
merge({}, users, ages)
// { data: [ { user: 'barney', age: 36 }, { user: 'fred', age: 40 } ] }
// merge 函数会修改原来的对象!
merge(users, ages)
console.log(users) // { data: [ { user: 'barney', age: 36 }, { user: 'fred', age: 40 } ]
assign
、extend、merge
相同之处
- 都可以用来合并对象
- 都会修改原来的对象 (如果原来的对象是作为函数的第一个参数的话)
不同之处
assign
函数不会处理原型链上的属性,也不会合并相同的属性,而是用后面的属性值覆盖前面的属性值extend
- 3.x 版本中和
assign
一样 - 4.x 版本中会合并原型链上的属性
- 3.x 版本中和
merge
遇到相同属性名的时候,如果属性值是纯对象或集合的时候,会合并属性值
_.uniqueId
生成唯一的Id,参数[ prefix='' ]是可选的,可在ID前面添加前缀。
_.uniqueId('count_')
//'count_104'
_.uniqueId()// =>'105'
_.uniqBy 从数组中删除重复项
[{url: 'www.example.com/hello',id: "22" },{url: 'www.example.com/hello',id: "22" },{url: 'www.example.com/hello-how-are-you',id: "23" },{url: 'www.example.com/i-like-cats',id: "24" },{url: 'www.example.com/i-like-pie',id: "25" } ]
_.uniqBy(data, 'id');
假设数据应该是唯一的,id
并且数据存储在data
变量中,那么可以使用uniq()函数,如下所示:
_.uniq(data, function (e) {return e.id; });
或者直接这样:
_.uniq(data, 'id');
lodash 常用总结相关推荐
- Lodash常用用法总结
Lodash是一个轻量级的JavaScript工具函数库,它方便了日常开发中对数据的操作,提高了开发效率. 日常开发中,通常会对数据,特别是数组和对象进行各种读写等操作:比如去重,拷贝,合并,过滤 ...
- lodash 常用的方法总结(持续更新)
lodash的引入 var _ = require('lodash'); castArray _.castArray将一个值铸造为数组如果它不是数组类型. _.castArray(1); // =&g ...
- 赐你一本_.武林秘籍,Lodash常用的方法帮助你快速开发。
官方文档 https://www.lodashjs.com/ $ npm i -g npm $ npm i --save lodash _.clone() 浅拷贝 var obj1 = {a: 1,b ...
- lodash 工具库
lodash是一套工具库,内部封装了很多字符串.数组.对象等常见数据类型的处理函数. 1.lodash的引用 import _ from 'lodash' 用一个数组遍历来说明为什么要使用lodash ...
- 学习lodash——这一篇就够用
在ES6盛行,ES78马上就要出来的情况下:我们还是需要懂得一些工具库的使用,比较推荐的是lodash. 在下面就会谈一谈为什么要使用lodash和lodash的基本使用. 首先要明白的是lodash ...
- JavaScript代码规范
类型 原始值: 相当于传值(JavaScript对象都提供了字面量),使用字面量创建对象. string number boolean null undefined var foo = 1,bar = ...
- 前端JavaScript规范
摘要: JavaScript规范 目录 类型 对象 数组 字符串 函数 属性 变量 条件表达式和等号 块 注释 空白 逗号 分号 类型转换 命名约定 存取器 构造器 事件 模块 jQuery ES5 ...
- 原核转录组非编码RNA研究
本文转载自"美吉生物",己获授权 说到非编码RNA,可能大家会想到真核生物中miRNA .lncRNA和circRNA.确实~"真核非编码RNA三剑客"现阶段进 ...
- JS lodash库在开发中常用到的方法
目录 一.摘要 二.常用方法 一.摘要 lodash是JS一个开箱即用的库函数,里面对于在日常开发中常用到的方法都是已经封装好的,使用起来非常方便,本篇记录了在日常开发过程总经常用的方法,就大概记录一 ...
最新文章
- 阅读笔记:Solving the “false positives” problem in fraud prediction
- 图解TCP四次握手断开连接
- docker添加阿里云专属镜像
- 【dfs】拔河比赛(ybtoj dfs-1-1)
- 原生js实现简洁的返回顶部组件
- 开发了那么多项目,你能自己手写个健壮的链表出来吗?
- 你敲键盘的声音,出卖了你 | 附开源代码
- C++ public、protected、private 继承方式的区别
- 消费分期群体-在校大学生和职场白领
- No.0_Team C#
- 联想E430c:To interrupt normal starup,press enter问题解决方法
- 映泰G31计算机主板进入BIOS,映泰主板bios设置方法
- 服务器图标怎么显示在任务栏,win10任务栏右侧的图标如何显示或隐藏起来?附图文教程...
- 博客迁移说明 : )
- 蓝牙技术|蓝牙助力智能手表的未来发展
- autorecover mac的ppt_Office for Mac快捷键之苹果PowerPoint幻灯片PPT篇
- 一维信号卷积与图像卷积的区别
- 【mysql】dump
- 苹果庆祝 7 月17 日 Emoji 世界表情符号日,带来众多新表情
- openwrt旁路由的设置
热门文章
- C Primer Plus 6th Edition第三章编程练习上溢下溢
- 正睿OI补题(递归与递推,前缀和与差分)
- 菜鸟的逆袭 - 自我介绍
- 800亿市值登陆科创板,风口之上,奇安信迎来新起点
- 两大热门解释器比较——PyPy和CPython的区别(官方文档翻译)
- android rdp服务器,[Android][FreeRDP与Window远程连接]
- 【程序员装备大全】程序员,就要对自己好一点!
- 不是有效的win32程序_豪横!程序员搭个人博客,一个 GitHub 账号足矣!
- cmd命令删除文件夹或文件
- 如何配色?绘画初学者怎么做好色彩搭配?