不可变的js从列表的地图制作列表

时间:2016-09-01 15:13:25

标签: javascript immutable.js

我有一个列表的不可变的js地图。我想将其转换为每个键的第一项列表

{keyA:[item1A,item2A,item3A],keyB:[item1B,item2B,item3B]}

[item1A,item1B]

1 个答案:

答案 0 :(得分:2)

使用Immutable肯定有办法做到这一点,它甚至是一个单行。您只需使用DROP TABLE #tbl; 将地图转换为List,然后根据需要使用toList()和/或map

filter

请注意,此代码容易出错。例如,如果item2不是List,该怎么办?您可以通过使用Immutable的const myMapOfLists = fromJS( { item1: [{id: 1}, {id: 2}, {id: 3}], item2: [{id: 4}, {id: 5}, {id: 6}], item3: [{id: 7}, {id: 8}, {id: 9}], } ); const myNewList = myMapOfLists.toList().map(item => item.get(0)); // console.log(myNewList.toJS()); // => [{id: 1}, {id: 4}, {id: 7}]; 方法检查项目是否为List来简单地避免这些问题。