如何从 javascript 中的参数对象中删除一个参数?
我希望最终的参数是一个参数对象而不是数组。
谢谢
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);
您可以像下面这样删除第一个参数
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 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;
}