zoukankan      html  css  js  c++  java
  • [Javascript] Modifying an Immutable.js Map()

    We will now look at five methods that modify an Immutable.Map().

    • set
    • update
    • delete
    • clear
    • merge
    //set()
    var map = Immutable.Map();
    var todo = {
      id: +new Date(),
      name: "todo1",
      content: "learning Immutable"
    }
    map = map.set(todo.id, todo);
    var task = map.get(todo.id);
    console.log(task.content); //"learning Immutable"
    
    //update
    var map = Immutable.Map();
    var todo = {
      id: +new Date(),
      name: "todo1",
      content: "learning Immutable"
    }
    map = map.set(todo.id, todo);
    todo.content = "RxJS";
    var task = map.update(todo.id, function(todo){
      return todo;
    });
    console.log(task.get(todo.id).content); //"RxJS"
    
    //delete
    var map = Immutable.Map();
    var todo = {
      id: +new Date(),
      name: "todo1",
      content: "learning Immutable"
    };
    map = map.delete(todo.id, todo);
    console.log(map.size); // 0
    
    //clear
    var map = Immutable.Map();
    
    var todo1= {
      id: +new Date(),
      name: "todo1",
      content: "learning Immutable"
    };
    
    var todo2= {
      id: +new Date() + 1000,
      name: "todo1",
      content: "learning Immutable"
    };
    
    map = map.set(todo1.id, todo1);
    map = map.set(todo2.id, todo2);
    console.log(map.size); //2
    map = map.clear();
    console.log(map.size); //0
    
    //merge
    var map1 = Immutable.Map({a: '10'});
    var map2 = Immutable.Map({b: '20'});
    
    map = map1.merge(map2); 
    console.log(map.toString()); //"Map { "a": "10", "b": "20" }"
    
    var map1 = Immutable.Map({a: '10'});
    var map2 = Immutable.Map({a: '20'});
    
    map = map1.merge(map2); 
    console.log(map.toString()); //"Map { "a": "20" }"
  • 相关阅读:
    原理Lambda表达式
    关于Web.config的debug和release.config文件
    利用GeoIP数据库及API进行地理定位查询 Java
    JSONP跨域的原理解析
    如何处理JSON中的特殊字符
    IIS下防止mdb数据库被下载的实现方法
    点击文字选中radio
    关于微信40029错误
    nopcommerce的WidgetZones
    js判断移动终端(手机浏览器)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4889963.html
Copyright © 2011-2022 走看看