zoukankan      html  css  js  c++  java
  • [Javascript] Creating an Immutable Object Graph with Immutable.js Map()

    Learn how to create an Immutable.Map() through plain Javascript object construction and also via array tuples.

    console.clear();
    // Can be an object
    var map = Immutable.Map({key: "value"});
    console.log(map.get("key")); //"value"
    
    // Can be an array
    var map = Immutable.Map([["key", {"name": "Zhentian"}]]);
    console.log(map.get("key").name); //"Zhentian"
    
    // size prop
    console.log(map.size); //1
    mocha.setup('bdd');
    const expect = chai.expect; 
    
    function createObjTodos(numTodos) {
      
      var obj = {}
      _.each(_.range(numTodos), (index) => {
        const todoSequence = String(index+1);
        obj['todo'+todoSequence] = {
          title: 'Todo '+todoSequence, 
          value: `Make ${todoSequence} happen`
        };
      });
     
      return obj;
             
    } 
    
    describe('Creating an Immutable Object Graph with Immutable.js Map()', () => {
      
      it('should create Map() with matching keys', () => {
    
        const data = {
          "todo1": {
            title: "Todo 1",
            value: "Make it happen"
          },
          "todo2": {
            title: "Todo 2",
            value: "Make it happen"
          }
        }
    
        let map = Immutable.Map(data);
        expect(map.get("todo1").title).to.equal("Todo 1");
        
      });
    
      it('should create Map() with keys from array tuples', () => {
    
        let map = Immutable.Map([["todo1", {title: "Todo 1"}]]) // Note the array within array
        expect(map.get("todo1").title).to.equal("Todo 1");
        
      });
      
      it('should create Map() with matching size to number of keys', () => {
    
        let map = Immutable.Map(createObjTodos(3))
        expect(map.size).to.equal(3);
        
      });
      
    });
    
    mocha.run();
  • 相关阅读:
    PTA 两个有序链表序列的合并
    PTA 递增的整数序列链表的插入
    PTA 链表逆置
    PTA 带头结点的链式表操作集
    _KPCR, _NT_TIB, _KPRCB
    FSOP
    逆向PspCreateProcess
    寒假训练 [GKCTF2020]Domo(4/250) 劫持vtable
    IO_FILE利用与劫持vtables控制程序流程、FSOP
    线程结构
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4889941.html
Copyright © 2011-2022 走看看