zoukankan      html  css  js  c++  java
  • [Immutable.js] Converting Immutable.js Structures to Javascript and other Immutable Types

    Immutable.js provides several conversion methods to migrate one structure to another. Each Immutable.js class contains a prefixed "to" method like Map.toList(), Map.toSet(), etc. Converting these types sometimes results in a loss of data, as we will see when converting from Map to List.

    Map to List:

      it('should convert Map() to List()', () => {
    
        const map = Immutable.Map({
          key1: 'First Item', 
          key2: 'Second Item'
        });
        
        const convertedList = map.toList();
        
        expect(Immutable.List.isList(convertedList)).to.be.true;
        
        // Keys are discarded
        expect(convertedList.first()).to.equal('First Item');
        expect(convertedList.last()).to.equal('Second Item');
        
      });

    List to Map:

      it('should convert List() to Map()', () => {
    
        const list = Immutable.List.of('First Item', 'Second Item');
        
        const convertedMap = list.toMap();
        
        // Converted keys ascend numerically
        keys = convertedMap.keys();
        expect(keys.next().value).to.equal(0);
        expect(keys.next().value).to.equal(1);
        
        expect(Immutable.Map.isMap(convertedMap)).to.be.true;
        
        expect(convertedMap.first()).to.equal('First Item');
        expect(convertedMap.last()).to.equal('Second Item');
        
      });

    Map to Javascript Array:

      it('should convert Map() to Javascript Array', () => {
    
        const map = Immutable.Map({
          key1: 'First Item', 
          key2: 'Second Item',
          key3: {key4: 'Nested Item'}
        });
        
        const arr = map.toArray();
        
        // Keys are discarded
        expect(arr[0]).to.equal('First Item');
        expect(arr[1]).to.equal('Second Item');
        expect(arr[2].key4).to.equal('Nested Item');
        
      });

    Map to JSON:

      it('should convert Map() to JSON', () => {
    
        const map = Immutable.Map({
          key1: 'First Item', 
          key2: 'Second Item',
          key3: {key4: 'Nested Item'}
        });
        
        const json = map.toJSON();
        
        expect(json.key1).to.equal('First Item');
        expect(json.key2).to.equal('Second Item');
        expect(json.key3.key4).to.equal('Nested Item');
        
      });
  • 相关阅读:
    VS中的路径宏
    Eigen3
    Python3.6 import源文件与编译文件的关系
    使用C语言扩展Python3
    mysql.connector 事务总结
    C++ -- STL泛型编程(一)之vector
    JSP -- include指令与include动作的区别
    Rails -- 关于Migration
    ruby -- 进阶学习(八)自定义方法route配置
    ruby -- 进阶学习(七)strong parameters之permitted.has_key
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5206016.html
Copyright © 2011-2022 走看看