我正在尝试修改一些现有的 JavaScript 代码,这些代码用于apply()
将数组传递给通常需要任意数量参数的成员函数:
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
with 数组方法,它可以就地修改它,例如// /pop
但push
我想用我的数组做各种事情,所以不想就地修改它。shift
unshift
我知道我可以通过预先添加一个新的临时数组来构建someObject
它,但这似乎每次都需要几行代码。
是否有一种更具表现力的方式来实现我想要在大约相同数量的行中做的事情?apply
关于返回一个新数组而不是就地修改一个数组的数组函数,我缺少什么?我已经在使用 jQuery,所以如果它有一些 vanilla JavaScript 没有的有用的东西,那也很好。