나는 일반적으로 매개 변수의 수를 기대 멤버 함수에 배열을 전달하는 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
에 대해 또는 행렬 함수를 수정하지 않고 새로운 배열을 반환하는 것에 대해 빠진 것이 있습니까? 저는 이미 jQuery를 사용하고 있습니다. 그래서 바닐라 자바 스크립트가 가지고 있지 않은 유용한 것이 있다면 그것은 훌륭합니다.
'apply ($, ???, ary)'는 작동하지 않습니다. 당신이 생각한 유일한 옵션입니다. @David는 좋은 예를 보여줍니다;) – VDP
@VDP : ??? "여기에 어딘가에서 실제로 무슨 일이 일어날 지 전혀 모르겠다"(- : – hippietrail
@David : 테스트 할 수 있었던 모든 것을 받아 들일 수는 있지만 많은 것들을 받아 들일 수있는 위치에 없었습니다. 아직은 압력 때문에 받아들이기를 싫어합니다. – hippietrail