javascriptの引数オブジェクトから1つの引数を削除するにはどうすればよいですか?
最終引数を配列ではなく引数オブジェクトにしたい。
ありがとう
最初の引数を削除するには、以下のようにすることができます
function addMe(){
var arg = Array.prototype.slice.call(arguments);
var first_arg = arg.shift(); //remove first argument
alert(arg); //new arguments
}
addMe(1,2,3,4,5,6,7,8,9,10)
var a = function () {
var args;
var b = function () {
args = arguments;
};
var orig = Array.prototype.slice.call(arguments);
orig.splice(1, 1); // remove one argument
b.call(this, orig);
console.log(args); // [ 1, 3 ]
};
a(1, 2, 3);
var args = toArray.apply(null, arguments);
args = args.slice(1, args.length); // here you have an arguments array minus the first
myFinalFunction.apply(null, args); // call your second function this way
// helper function
var toArray = function() {
var args = [];
for(var i=0; i<arguments.length; i++) args.push(arguments[i]);
return args;
}
ラップされた関数から関数を呼び出し、最初の引数を省略します。