Immutable api example
var temp=[{name:"kitty",age:31},{name:"ff",age:22},{name:"kitty",age:44}]
var temp1={
ct1:{name:"kitty",age:31},
ct2:{name:"ff",age:22},
ct3:{name:"kitty",age:44}
}
let hh = Immutable.fromJS(temp); //list
let hh1=Immutable.fromJS(temp1) //map
.reverse: 倒排 ,支持list ,map
let reverse=hh.reverse()
//[{"name":"kitty","age":44},{"name":"ff","age":22},{"name":"kitty","age":31}] let resverse1=hh1.reverse()
//{"ct3":{"name":"kitty","age":44},"ct2":{"name":"ff","age":22},"ct1":{"name":"kitty","age":31}}
.groupBy:分组 支持 list 和 map
let groupBy=hh.groupBy(function(a,b,c){
return a.get("name")+"_ic"
})
//{"kitty_ic":[{"name":"kitty","age":31},{"name":"kitty","age":44}],"ff_ic":[{"name":"ff","age":22}]}
let groupBy1=hh1.groupBy(function(a,b,c){
return a.get("name")+"_ic"
})
//{"kitty_ic":{"ct1":{"name":"kitty","age":31},"ct3":{"name":"kitty","age":44}},"ff_ic":{"ct2":{"name":"ff","age":22}}}
.sortBy:排序 支持 list 和 map
let sortBy=hh.sortBy(function(a,b,c,d){
return -1*a.get("age")
})
//[{"name":"kitty","age":44},{"name":"kitty","age":31},{"name":"ff","age":22}]
let sortBy1=hh1.sortBy(function(a,b,c,d){
return -1*a.get("age")
})
//{"ct3":{"name":"kitty","age":44},"ct1":{"name":"kitty","age":31},"ct2":{"name":"ff","age":22}}
.filter:返回通过真值检测的元素值 支持 list 和 map
let filter=hh.filter(function(a,b,c){
if(a.get("name")=="ff"){
return true
}
})//[{"name":"ff","age":22}]
let filter1=hh1.filter(function(a,b,c){
if(a.get("name")=="ff"){
return true
}
})//{"ct2":{"name":"ff","age":22}}
.filterNot:返回不通过真值检测的元素值 支持 list 和 map
// filterNot:返回不通过真值检测的元素值 支持 list 和 map
let filterNot=hh.filterNot(function(a,b,c){
if(a.get("name")=="ff"){ return true }
})//[{"name":"kitty","age":31},{"name":"kitty","age":44}] let filterNot1=hh1.filterNot(function(a,b,c){
if(a.get("name")=="ff"){ return true }
})//{"ct1":{"name":"kitty","age":31},"ct3":{"name":"kitty","age":44}}
.map 支持 list 和 map
//map 支持 list 和 map
let map=hh.map((a,b,c)=>{
return a.get("name")
})//["kitty","ff","kitty"] let map1=hh1.map((a,b,c)=>{
return a.get("name")
})//{"ct1":"kitty","ct2":"ff","ct3":"kitty"}
.merge
//merge
let tt1={ct1:{name:"",age:""},ct4:{name:"qq",age:42}}
let merge1=hh1.merge(tt1)
//{"ct1":{"name":"","age":""},"ct2":{"name":"ff","age":22},"ct3":{"name":"kitty","age":44},"ct4":{"name":"qq","age":42}}
.mergeDeep
//mergeDeep
let ttDeep=[{name:"changed",qq:"add"},{},{},{qq:"add"}]
let mergeDeep=hh.mergeDeep(ttDeep)
//[{"name":"changed","age":31,"qq":"add"},{"name":"ff","age":22},{"name":"kitty","age":44},{"qq":"add"}] let ttDeep1={ct1:{name:"changed",qq:"add"},ct4:{name:"add"}}
let mergeDeep1=hh1.mergeDeep(ttDeep1) //{"ct1":{"name":"","age":""},"ct2":{"name":"ff","age":22},"ct3":{"name":"kitty","age":44},"ct4":{"name":"qq","age":42}}
Immutable api example的更多相关文章
- [Angular] Http Custom Headers and RequestOptions
updatePassenger(passenger: Passenger): Observable<Passenger> { let headers = new Headers({ 'Co ...
- Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow pip命令
引言: Tensorflow大名鼎鼎,这里不再赘述其为何物.这里讲描述在安装python包的时候碰到的“No matching distribution found for tensorflow”,其 ...
- immutable日常操作之深入API
写在前面 本文只是个人在熟悉Immutable.js的一些个人笔记,因此我只根据我自己的情况来熟悉API,所以很多API并没有被列举到,比如常规的push/map/filter/reduce等等操作, ...
- [转] Immutable 常用API简介
本文主要整理了Immutable.js常用API的使用. Immutable 是什么? 关于Immutable的定义,官方文档是这样说的: Immutable data encourages pure ...
- immutable.js 在React、Redux中的实践以及常用API简介
immutable.js 在React.Redux中的实践以及常用API简介 学习下 这个immutable Data 是什么鬼,有什么优点,好处等等 mark : https://yq.aliyu ...
- Immutable 常用API简介
本文主要整理了Immutable.js常用API的使用. Immutable 是什么? 关于Immutable的定义,官方文档是这样说的: Immutable data encourages pure ...
- [转载]Java 8 日期&时间 API
Java 8 日期和时间 声明 本文转自http://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant,以mark ...
- Spark笔记:复杂RDD的API的理解(下)
本篇接着谈谈那些稍微复杂的API. 1) flatMapValues:针对Pair RDD中的每个值应用一个返回迭代器的函数,然后对返回的每个元素都生成一个对应原键的键值对记录 这个方法我最开始接 ...
- Guava库介绍之集合(Collection)相关的API
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
随机推荐
- vux 表单提交数据 返回后页面跳转
ps:仅作参考
- 使用div元素来包含内容
在编写样式表时,经常要用到<div>元素来包含内容~~ 下面试简单的示例~ moreHigh.htm l <!DOCTYPE html> <html lang=" ...
- snprintf 使用注意
#include <iostream> #include <cstdio> // 包含的头文件 using namespace std; int main(int argc, ...
- 使用原生ajax访问后台数据并将其展现在前端页面中(小菜鸟自己整理玩的,大神勿喷)
首先你要有php的环境,关于php环境的搭建,php本地站点的搭建,此处不再重复请看这里:http://www.cnblogs.com/Gabriel-Wei/p/5950465.html我们把wam ...
- Java enum的用法详解[转]
Ref:http://www.cnblogs.com/happyPawpaw/archive/2013/04/09/3009553.html 用法一:常量 在JDK1.5 之前,我们定义常量都是: p ...
- Python中下划线---完全解读(转)
Python中下划线---完全解读 Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __xxx ...
- AngularJS动画
1.AngularJS提供了动画效果,可以配合CSS使用: 2.AngularJS使用动画需要引入angular-animate.min.js库 <script src="http:/ ...
- 基于RXTX的串口通讯 windows64位系统可用
项目地址 http://download.csdn.net/detail/xqshishen/7739539
- Node.js-Socket.IO【1】-身份验证
Websocket身份验证失败的时候,希望向前台传输错误信息,但是Socket.IO目前最新版本1.4.6在后台使用 next(new Error('unauthorization')); 前端的代码 ...
- Pig基础学习【持续更新中】
*本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...