2013-03-13 3 views
0

У меня есть функция, и я передаю ей объект и некоторые аргументы. EX:преобразование аргументов в массив

someFunc: function(obj){ 

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

так, я называю эту функцию передавая следующие аргументы:

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

Я хочу, чтобы иметь новый массив «CRA» содержит все аргументы, кроме первого аргумента аргумента [0] который является объектом.

A для цикла не работает, и я не хочу использовать здесь петли. Есть что-то, чего я не хватает?

в основном:

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

Вы можете использовать функцию сдвига, чтобы удалить первый аргумент массива. – snedkov

+1

'cra.shift()' будет изменять массив так, как вы хотите, 'cra.slice (1)' вернет то, что вы хотите. – Chad

ответ

2

можно использовать

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

использование:

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

Это как делать [1,2,3,4].splice(1);, с дополнительным бонусом, что вы литья arguments к Array объект.

Смежные вопросы