2016-07-14 2 views
0

Я уверен, что это очень просто, но я не могу найти способ сделать это.Как выбрать вещи в таком элементе?

функция ([5, 4, 6,], 1, 2, 3);

Существует массив, а затем есть вещи вне массива, но я не знаю, как эти внешние вещи называются или управляются?

Как выбрать все элементы за пределами первого массива?

Спасибо и извините за немой вопрос.

Редактировать, вот вся функция, потому что я не могу объяснить это хорошо.

function destroyer(arr) { 
    // Remove all the values 
    return arr; 
} 

destroyer([1, 2, "asd", 1, 2, 3], "kk", 3); 

EDIT2; вот решение проблемы выбора аргументов:

Объект arguments не является массивом. Он похож на массив, но не имеет никаких свойств Array, кроме длины. Например, у него нет метода pop. Однако он может быть преобразован в реальный массив:

var args = Array.prototype.slice.call(arguments,1) 

Это выбирает все, кроме первого аргумента.

+0

Пожалуйста, поделиться тем, что должно быть на выходе этого вызов функции и то, что вы d делать с этими аргументами. – gurvinder372

+0

Мне нужно выбрать числа вне массива для использования в функции фильтра для фильтрации массива, но мне нужно знать, как сначала выбрать номера. – Treborx555

+0

У вас здесь функция с аргументами, сначала это массив, три других числа, поэтому просто используйте второй, третий и четвертый аргументы вашей функции. –

ответ

1

EDIT:

Используйте arguments ключевое слово внутри функции

function destroyer(arr) { 
    // Remove all the values 
    arr = arguments 
    return arr; 
} 

destroyer([1, 2, "asd", 1, 2, 3], "kk", 3); 
+0

Упражнение, которое я задал, ставит только один аргумент в функции типа function (arr), из которой я должен выбирать элементы вне массива. Как это: функции разрушителя (ARR) {// выберите вещи, за пределами массива } разрушитель ([4,5,6] 1, 2, 3); – Treborx555

+0

Я обновил свой основной пост с исходным кодом для вызова и изменил номер на строку, чтобы удалить путаницу. Мне жаль, что я не думал, что я неясен. – Treborx555

+0

Вы не можете этого сделать без расширения параметров этой функции. Или вы должны называть «разрушитель» одним объектом, который будет содержать все остальные параметры. – Arif

0

Вы можете сделать это таким образом

//suppose you have a function like this 
 
function f1() 
 
{ 
 
    var args = [].slice.call(arguments); 
 
    //console.log(args); 
 
    var arr = args[0]; 
 
    args.splice(0,1); 
 
    return arr.filter(function(item){ 
 
     return args.indexOf(item) != -1; 
 
    }); 
 
} 
 

 
//since no items outside array are matching, it will return empty 
 
console.log(f1([5, 4, 6,],1, 2, 3)); 
 
        
 
//since two items outside array are matching, it will filtered array 
 
console.log(f1([1, 2, 5, 4, 6,],1, 2, 3)); 
 
        
 
      

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