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');
        
      });
  • 相关阅读:
    美团面试,360面试 ,滴滴面试,阿里面试,百度面试,京东面试,搜狗面试:
    Maven 3-Maven依赖版本冲突的分析及解决小结 (阿里,美团,京东面试)
    maven snapshot和release版本的区别
    Maven 生命周期 和插件
    Maven pom 文件解释
    Zookeeper原理架构
    sublime 支持PHP语法提示
    Zen Coding 用法
    让浏览器屏蔽js
    淘宝设计师入门:设计师SDK环境配置
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5206016.html
Copyright © 2011-2022 走看看