【发布时间】:2019-03-14 13:41:34
【问题描述】:
我想将一个数组拆分为多个块,但对其应用一个函数来决定如何创建这些块。
例如,如果我有一个由字母、数字或字母和数字组成的数组,则对数组应用一个函数以将其拆分为先前类别的数组数组。
let arr = ['a', 'b', '1', '2', 'a1', 'a2', 'c', '3', 'a3']
myChunkFunction(arr, myCustomSplitFunction)
// result
[['a','b','c'], ['1','2','3'], ['a1', 'a2','a3']]
Lodash 有一个块函数,但它会拆分为 n 个块,数组也有一个切片函数,但您需要指定开始和结束,所以我如何使用自定义函数进行拆分。
【问题讨论】:
-
问题是什么?你有什么似乎很好,你只需要定义
myCustomSplitFunction。 -
我没有应用自定义函数的块函数。
-
它只是
function myChunkFunction(array, splitFunction) { return splitFunction(array); },然后您可以完全按照上面代码中的方式调用它。 -
如果你需要经常做这样的操作,也许可以考虑使用像lodash这样的库。特别是,您可以通过他们的
_.groupBy和_.values函数轻松地做到这一点。 -
这个问题很好。停止投票只是因为你没有看到:“我的问题是......”。
标签: javascript arrays algorithm ecmascript-6 split