Functional programming 将列表合并到内容相同的嵌套列表中

Functional programming 将列表合并到内容相同的嵌套列表中,functional-programming,ramda.js,Functional Programming,Ramda.js,有一份清单: [1,1,1,2,2,1,1] 需要转换为具有相同内容的嵌套列表: [[1,1,1], [2,2], [1,1]] 我正在寻找一种功能性的方法来实现这一点,并且考虑了Ramda的mapAccum,但我无法理解它。有什么想法吗?Ramda接受一个二进制谓词,并将连续元素分组在一起,只要谓词为真: console.log(R.groupWith(R.equals)([1,1,1,2,2,1,1])) groupWith(equals)应该这样做。它接受一个二进制谓词并将元素分组在

有一份清单:

[1,1,1,2,2,1,1]
需要转换为具有相同内容的嵌套列表:

[[1,1,1], [2,2], [1,1]]
我正在寻找一种功能性的方法来实现这一点,并且考虑了Ramda的mapAccum,但我无法理解它。有什么想法吗?

Ramda接受一个二进制谓词,并将连续元素分组在一起,只要谓词为真:

console.log(R.groupWith(R.equals)([1,1,1,2,2,1,1]))

groupWith(equals)
应该这样做。它接受一个二进制谓词并将元素分组在一起,只要它返回
true
非常优雅的解决方案@ScottSauyet将帖子作为答案,以便OP可以标记为已解决?@izhaki:好的。已经贴好了。