【问题标题】:Project data out of an immutable map to a different shape将不可变地图中的数据投影到不同的形状
【发布时间】:2019-09-28 16:49:20
【问题描述】:

我有一个 Map 的不可变对象,其结构如下:

id1: {
    someField: 'anyvalue',
    description: 'description1'
},
id2: {
    someField: 'anotherValue`,
    description: 'description2'
}

我想在不诉诸toJS() 的情况下投射List 的描述:

[ 'description1', 'description2' ]

我该怎么做?

【问题讨论】:

    标签: immutable.js


    【解决方案1】:

    const data = new Immutable.Map({id1: {
        someField: 'anyvalue',
        description: 'description1'
    },
    id2: {
        someField: 'anotherValue',
        description: 'description2'
    }});
    
    const out = data.valueSeq().map(v => v.description).toList();
    console.log(out)
    <script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.js"></script>

    【讨论】:

    • 我相信valueSeq提供了不可变的对象,所以从那里映射应该是.map(v => v.get('description')
    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多