apply()
通常は任意の数のパラメーターを期待するメンバー関数に配列を渡すために使用されていた既存のJavaScriptコードを変更しようとしています。
oldFoo: function( arg /* , ..., argN */ ) {
...
}
var ary = ...
oldFoo.apply($, ary)
... other stuff using ary ...
新しいコードはまだ任意の数のパラメーターを受け取り、渡す配列としてそれらを持っていますが、配列の前に新しいパラメーターを渡す必要もあります
newFoo: function( someObject, arg /* , ..., argN */ ) {
...
}
var ary = ...
newFoo.apply($, ???, ary)
... other stuff using ary ...
だから私は///のようにその場でそれを変更する配列メソッドで新しいバージョンを作ることができることを知っていますが、ary
私は自分の配列でさまざまなことをしたいので、その場でそれを変更したくありません。pop
push
shift
unshift
付加して新しい一時配列を作成できることはわかっていますsomeObject
が、そのたびに数行のコードが必要になるようです。
ほぼ同じ行数でやりたいことを達成するためのより表現力豊かな方法はありますか?apply
インプレースで1つを変更するのではなく、新しい配列を返す配列関数について、または何かについて私が見逃していることはありますか?私はすでにjQueryを使用しているので、バニラJavaScriptにはない便利なものがあれば、それも素晴らしいことです。