私は最近何かを見つけました。私はこのような配列からオブジェクトを削除する機能を追加したい:CoffeeScript拡張演算子 'this'を変更していますか?
someArray.remove(element)
私はCoffeeScriptののextend
演算子を使用したいと、それは次のようにします。
Array::remove = (element) ->
return false unless _.include(this, element)
this = this.splice(_.indexOf(this, element), 1)
true
しかし、プロトタイプ機能、それはArray
オブジェクト自体にポイントthis
を作成し、その唯一の方法は、次のようになり、何かを返すことですされています
someArray = someArray.remove(element)
とこのようなことのための実装:Rubyで
Array::remove = (element) ->
return this unless _.include(this, element)
this.splice(_.indexOf(this, element), 1)
これはjoin
とjoin!
間の正確な違いです。
これを達成する方法はありますか?
ありがとうございました!私はスプライスが配列を実際に変更していることを知らなかった。新しいコピーを返すだけだと思った。 –