如何删除arguments对象中的第一个参数?

时间:2018-10-01 07:54:02

标签: javascript object arguments

我需要删除arguments对象中的第一项,以便我的let args变量等于以下所有参数。 我该怎么办?

function destroyer(arr) {
  let myArr = arguments[0];
  let args = arguments;
}

destroyer([1, 2, 3, 1, 2, 3], 2, 3);

2 个答案:

答案 0 :(得分:2)

使用slice检索第一个参数之后的参数,并在函数参数中使用rest参数代替单个arr(如果可以的话)-许多短毛绒建议不要使用arguments,并且在这里不需要使用该关键字:

function destroyer(...args) {
  const otherArgs = args.slice(1);
  console.log('length: ' + otherArgs.length, 'items: ' + otherArgs);
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);

如果您还想引用第一个参数,请在将第一个arr收集到变量后,在 之后使用rest参数:

function destroyer(arr, ...otherArgs) {
  console.log('arr: ' + arr);
  console.log('length: ' + otherArgs.length, 'items: ' + otherArgs);
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);

答案 1 :(得分:0)

最简单的方法:

function destroyer(...arr) {
  arr.shift();
  console.log( arr ); // 2,3
}

destroyer([1, 2, 3, 1, 2, 3], 2, 3);