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');
        
      });
  • 相关阅读:
    排行榜 和 zset
    SpringBoot使用@ServerEndpoint无法依赖注入问题解决(WebSocket
    idea 全局内容搜索和替换
    fiddler不能监听 localhost和 127.0.0.1的问题
    fiddle4 弱网测试
    nginx代理websocket连接上限
    spring boot Websocket
    SpringBoot----跨域配置
    注解@Slf4j的使用
    word 转 pfd
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5206016.html
Copyright © 2011-2022 走看看