如何获取参数对象的子集? (关于可变大小的参数)

时间:2013-10-16 15:39:15

标签: javascript

有没有办法获取arguments对象的子集?例如,只选择第一个之后的参数(“尾部”)?

在Python中可以这样做:

def tail(*xs):     # * means a tuple of parameters of variable size   
    return xs[1:]  # return from index 1, to the end of the list

tail(1, 2, 3, 4)   # returns (2, 3, 4)

有没有办法在JavaScript中做类似的事情?

1 个答案:

答案 0 :(得分:1)

通常使用argumentsArray.prototype.slice.call(arguments)变量强制转换为数组。当你已经调用slice method时,你可以简单地将缺少的参数添加到该函数中以切断伪数组的末尾:

function tail() {
    return Array.prototype.slice.call(arguments, 1);
}

tail(1, 2, 3, 4); // returns [2, 3, 4]