2013-03-13 79 views
0

我有一个函数,我将它传递给一个对象和一些参数。 EX:将参数转换为数组

someFunc: function(obj){ 

    var cra = Array.prototype.call(arguments); 

因此,我调用这个函数传递以下参数:

someFunc({name: 'frank', age: '56', Location: 'New Heaven'}, 'name, 'age'); 

我想有创建“CRA”包含除第一个参数一个参数的所有参数的新数组[0]这是一个对象。

for循环不起作用,我不想在这里使用循环。有什么我失踪?

基本上是:

console.log(cra): 
>>> ['name','age'] 
+2

您可以使用shift功能删除数组的第一个参数。 – snedkov 2013-03-13 19:04:01

+1

'cra.shift()'会将数组修改为你想要的,'cra.slice(1)'会返回你想要的。 – Chad 2013-03-13 19:04:58

回答

2

你可以使用

function argArray(){ 
    return Array.prototype.splice.call(arguments, 1); 
} 

用法:

argArray(1,2,3,4); // [2,3,4] 

这就好比做[1,2,3,4].splice(1);,与正在铸造argumentsArray额外的奖励目的。