4

最初の引数以外のすべてを返す関数があります

foo = -> arguments[1..]

foo(0,1,2,3,4)

残念ながら、引数は配列ではなくオブジェクトです。

オブジェクトを配列に変換する最良の方法は何ですか?

4

3 に答える 3

1

最初の引数を無視して、splats を使用して残りをキャプチャできます。

foo = (_, rest...) -> rest 

のようなこともできますが、 (最初のスニペットとは異なり) への2 つの異なる呼び出しにコンパイルされfoo = (args...) -> args[1...]ます。Array#slice

于 2013-07-27T21:15:12.017 に答える
0

見つかったのは使用することArray.prototype.sliceです:

coffee> foo = -> Array.prototype.slice.apply(arguments)[1..]
[Function]
coffee> foo(0,1,2,3,4)
[ 1, 2, 3, 4 ]

別のバージョンは

[].slice.call(arguments)
于 2013-07-27T17:26:12.177 に答える