• [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" }"
  • 相关阅读:
    线程池的状态整理
    线程池 ThreadPoolExecutor 源码整理
    ReentrantReadWriteLock 源码分析
    ReentrantLock 锁释放源码分析
    编译Hadoop源码
    Ubuntu安装secureCRT
    ubuntu中为hive配置远程MYSQL database
    解决Ubuntu下sublime3无法输入中文
    Ubuntu下安装PAC Manager
    Git起步--git安装与初次运行git前配置
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4889963.html
Copyright © 2020-2023  润新知