• [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');
        
      });
  • 相关阅读:
    Spring配置通过动态工厂方法创建的bean
    Spring配置通过静态工厂方法创建的bean
    SpringMVC针对post请求乱码的处理
    SpringMVC的HelloWorld快速入门!
    SpringMVC和Spring的关系
    pageContext、request、session和application区别
    orcale 实现 sql server 里面的表值函数SPLIT
    查询语句有 or 会导致查询速度变慢问题解决
    用谷歌浏览器以及插件 测试接口
    OraCle 记录 实现 sql中的 for xml path ('')
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5206016.html
Copyright © 2020-2023  润新知