【发布时间】:2013-01-24 08:21:03
【问题描述】:
我正在尝试实现Array.repeat,所以
[3].repeat(4) // yields
=> [3, 3, 3, 3]
...快把我逼疯了。
试过这个:
Array::repeat = (num)->
array = new Array
for n in [0..num]
array.concat(this)
array
但是[3].repeat(x) 总是返回[]。我在哪里搞砸了?还是有更好的方法来做到这一点?
最终结果:
Array::repeat = (num)->
array = new Array
return array if num < 1
for n in [1..num]
array = array.concat(this)
array
['a'].repeat(5)
=> ['a', 'a', 'a', 'a', 'a']
【问题讨论】:
-
@IvayloStrandjev:不;这是 CoffeeScript。
-
它的咖啡本。可以编译成javascript。
-
为什么要克隆原始数组?
标签: javascript arrays coffeescript