我試圖實現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']
這是javascript嗎? – 2013-02-08 14:31:04
@IvayloStrandjev:No;它是CoffeeScript。 – SLaks 2013-02-08 14:31:15
它的coffescript。它可以編譯爲JavaScript。 – 2013-02-08 14:31:25