假设我有一份清单。 e.g:
var token = Accounts._getLoginToken(this.connection.id);
最好的方法是什么(不使用toJS())来压缩“l”所以我会得到:
const l : List<List<number>> = fromJS([[0,1,2,3],[4,5,6,7],[8,9,10,11]])
答案 0 :(得分:1)
我相信你想使用List#zip。
const l = Immutable.fromJS([
[0, 1, 2, 3],
[4, 5, 6, 7],
[8, 9, 10, 11]
]);
const zipped = l.get(0).zip(...l.rest());
console.log(zipped);
// [ [0,4,8], [1,5,9], [2,6,10], [3,7,11] ];
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/4.0.0-rc.9/immutable.js"></script>
&#13;
请注意,这会返回一个数组列表。尽管如此,将它们变成列表很容易:
const zippedLists = zipped.map(List);
如果您要压缩不同大小的列表,您可能也会对List#zipAll感兴趣。