immutable.js 学习笔记(三)----- Map
一、Map
Map在原生的js中对应的是Object这样的结构,它都是key-value的键值对,并且它是无序的

二、 API
(一) set:设定值

(二)delete:删除值

每做一次增删改查都会把这些数据重新生成一份,如果要想删除多个key的话,对内存的消耗也是很大的,所以deleteAll是一次删除多个key,然后只返回一次新的对象
(三)deleteAll:批量删除

(四)clear:清除所有返回新Map

(五)update:更新

(六)merge:合成N个Map为一个Map

(七)mergeWith:指定了merge的规则
第一个参数表示:如果值重复的话应该怎么办

(八)setIn:对于嵌套结构来进行设置值

(九)toJS() 与 toJSON():转换为对象
toJS() 是深转换
toJSON() 是浅转换
浅转换只转换一层,深转换可以转换出每一层对象


(十)toArray:转换为数组

(十一)toObject:转换为Object

(十二)equals:判断两个map的值是否相等

(十三)find:查找,匹配的第一个

(十四)flatten:拉平Map
false是深拉平,true是浅拉平


(十五)has:判断是否有指定的key

(十六) includes:判断是否有指定的value

(十七)forEach

(十八)未完待续。。。。。。
immutable.js 学习笔记(三)----- Map的更多相关文章
- Node.js学习笔记(三) --- package.json 及cnpm
一.包 Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块.Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理. 完全符合 ...
- [Scala]Scala学习笔记三 Map与Tuple
1. 构造映射 可以使用如下命令构造一个映射: scala> val scores = Map("Alice" -> 90, "Kim" -> ...
- JS学习笔记 (三) 对象进阶
1.JS对象 1.1 JS对象特征 1.JS对象是基本数据数据类型之一,是一种复合值,可以看成若干属性的集合. 属性是名值对的形式(key:value) 属性名是字符串,因此可以把对象看成是字符串到值 ...
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- 2019-4-29 js学习笔记
js学习笔记一:js数据类型 1:基本数据类型 number类型(整数,小数) String类型 boolean类型 NaN类型其实是一个nu ...
- WebGL three.js学习笔记 6种类型的纹理介绍及应用
WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...
- WebGL three.js学习笔记 加载外部模型以及Tween.js动画
WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
随机推荐
- C#中winform DataGridView常用修改点
1.修改列名 一般情况下,从数据库里面读取的列名是英文或者拼音,但是,有时候显示需要中文,这样就需要修改列名了. dgv.Columns[0].HeaderCell.Value="编号&qu ...
- MASA Framework -- EventBus入门与设计
概述 事件总线是一种事件发布/订阅结构,通过发布订阅模式可以解耦不同架构层级,同样它也可以来解决业务之间的耦合,它有以下优点 松耦合 横切关注点 可测试性 事件驱动 发布订阅模式 通过下图我们可以快速 ...
- Go语言核心36讲22
你好,我是郝林,今天我们继续来分享错误处理. 在上一篇文章中,我们主要讨论的是从使用者的角度看"怎样处理好错误值".那么,接下来我们需要关注的,就是站在建造者的角度,去关心&quo ...
- i春秋Vld
进去就问我们懂不懂Vulcan Logic Dumper,然后下面是一个报false.我们查看源码,在源码的最后提示我们index.php.txt的存在,话不多说,直接访问试试. 出现一堆我们暂时还看 ...
- Base64 学习
base64是什么 Base64,就是包括小写字母a-z,大写字母A-Z,数字0-9,符号"+" "/ "一共64个字符的字符集,(另加一个"=&qu ...
- Axios +Vue + themeleay
1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- 小米mini路由器刷breed不死鸟和潘多拉固件
前言 开启小米路由器ssh, 这一步浪费我很长时间,因为目前的开发版都对ssh升级进行了md5校验,导致官方升级方法总是失败,所以换成老版本的 路由器固件就行了. 步骤 下载 0.4.36 mini路 ...
- Google Chrome(谷歌浏览器)安装使用
谷歌浏览器官网https://www.google.cn/chrome/ Chrome是由Google开发的一款简单便捷的网页浏览工具.谷歌浏览器(Google Chrome)可以提帮助你快速.安全的 ...
- 4.3:flume+Kafka日志采集实验
〇.目标 使用kafka和flume组合进行日志采集 拓扑结构 一.重启SSH和zk服务 打开终端,首先输入:sudo service ssh restart 重启ssh服务.之后输入下述命令开启zo ...
- dubbo2升级到dubbo3实践
dubbo当前版本 2.7.3 期望升级到 3.0.11. 升级过程 maven依赖变更 <dependency> <groupId>org.apache.dubbo</ ...