有没有办法将ImmutableJS列表分成多个列表的列表?我基本上都在寻找类似lodash的块,但是对于ImmutableJS列表.
我可以改变我的名单为Array它传递给前块和转换回ImmutableJS列表中的反应,但有人告诉我浅薄的转换效率不高,我的名单是相当大的.
谢谢你,G.
jok*_*kka 11
Immutable.js不提供开箱即用的功能.
这是将列表拆分为相同大小的块的功能.如果列表无法均匀分割,则最后一个块可能更小.
function splitIntoChunks(list, chunkSize = 1) {
return Immutable.Range(0, list.count(), chunkSize)
.map(chunkStart => list.slice(chunkStart, chunkStart + chunkSize));
}
Run Code Online (Sandbox Code Playgroud)
它首先枚举每个块应该开始的索引,然后将索引列表转换为从每个索引到索引加上块大小的切片列表.
看起来简单而有效.