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}}		

  

posted @ 2016-11-08 17:08  break_happy  Views(335)  Comments(0Edit  收藏  举报