将数组拆分成碎片

时间:2013-12-18 03:02:58

标签: javascript arrays coffeescript

我是CoffeeScript的新手(我今天早上开始学习),我唯一无法找到的是在子阵列中拆分数组的优雅方法。例如,我有以下数组:

myarr = [1, 7, 8, 3, 5, 1, 4, 9, 0, 2]

我想把它分成两个元素的子阵列:

myarr = [[1, 7], [8, 3], [5, 1], [4, 9], [0, 2]]

我知道如何用纯javascript来做,然而鉴于我正在学习,我无法找到一种优雅的咖啡方式。 CoffeeScript是否允许一个很好的解决方案呢?

更新

使用http://js2coffee.org/网站将我的javascript代码翻译为CoffeScript我找到了这个解决方案:

Array::chunk = (chunkSize) ->
  array = this
  [].concat.apply [], @map((elem, i) ->
    (if i % chunkSize then [] else [array.slice(i, i + chunkSize)])
  )

看起来很正确。但这是一个翻译输出,而不是专家推荐。

声明:

即使CoffeeScript编译为Javascript,我也在寻找CoffeeScript解决方案而不是Javascript解决方案。 “如果你知道javascript那么,你知道coffeescript”的想法对我来说不是真的,至少现在还没有。

0 个答案:

没有答案