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

      

  • 相关阅读:
    Java实现币值最大化问题
    Java实现币值最大化问题
    Java实现币值最大化问题
    Java实现币值最大化问题
    ddd
    雷军:小米最坏的时候已过去 2017目标营收千亿(确实有些新意)
    真正的转变从不确定中来
    很多人知道自己的斤两,他之所以抱怨工资低,不是觉得薪水和自己的能力不匹配,而是因为工资确实不够用(笑死了)
    CodeSmith
    sb2-admin
  • 原文地址:https://www.cnblogs.com/breakdown/p/6043591.html
Copyright © 2020-2023  润新知