今天,对于我心爱的JavaScript堆栈器,我有一个相当棘手的问题。
鉴于以下情况
现在,我想折叠数组以包含我的所有类,看起来像[[:m]],m类中的所有数组都进入该数组。 传统上,这可以通过迭代的方式解决
arrayClasses = [[m]] // initialize m empty arrays
array.forEach((n) => if expr; arrayClasses[m].push(n) // where expr is used to determine the class
有趣的是,这也可以通过折叠数组(在这里谈论处理数据的Erlang方法)来完成,只需使用n-> [m]的转换函数即可。但是,我无法确定如何使用JavaScript内部实用程序来完成此工作。
// n = 6 elements contains m = 3 classes
let n = [
[1],
[1],
[2],
[2],
[3],
[3]
]
// can be transformed into m = 3 elements containing 2 elements each
let m = [
[
[1],
[1]
],
[
[2],
[2]
],
[
[3],
[3]
]
]