将列表合并到具有相同内容的嵌套列表中

merge a list into a nested lists of equal content

有一个列表:

[1,1,1,2,2,1,1]

需要转换为具有相同内容的嵌套列表:

[[1,1,1], [2,2], [1,1]]

我正在寻找一种实用的方法来实现这一点,并且正在考虑 Ramda 的 mapAccum,但我无法理解它。有什么想法吗?

Ramda 的 groupWith 接受二元谓词并将连续的元素组合在一起,只要谓词为真即可:

console.log(R.groupWith(R.equals)([1,1,1,2,2,1,1]))
<script src="//cdnjs.cloudflare.com/ajax/libs/ramda/0.25.0/ramda.js"></script>