2015-06-22 3 views
-1

Мне нужно разрешить только мои векторы, такие как function([a, b, c, d]) или function(a, b, c, d). Мне нужно написать единичный тест, который дает синтаксическую ошибку, когда я получаю параметры формы function([a, b][c, d]) и function([a][b][c][d]).Как проверить, является ли переданный параметр массивом массивов

Обратите внимание, что я не ищу только массив здесь. Мне нужно отфильтровать несколько массивов и взять только одномерную матрицу (или вообще не массивы)

Как проверить наличие таких параметров?

+2

Возможный дубликат [Как проверить, является ли переменная массивом в JavaScript?] (Http://stackoverflow.com/questions/767486/how-do-you-check-if-a-variable-is- a-array-in-javascript) – Bik

+0

@Bik Это не дубликат вопроса, на который вы ссылались. В дополнение к тому, что это массив, мне нужно проверить, является ли его многомерным. –

+0

Ни один из ваших примеров не содержит массив массивов. Примечание. В JS нет многомерных массивов, только массивы массивов. –

ответ

0

Если ваша функция всегда принимает один или несколько аргументов, вы можете проверить, проверив Array.isArray(arguments[i]).

-1

вы всегда можете проверить ее детей, если это массив или не

x = [[1,2,3], [4,5,6]]; 
if(Array.isArray(x))//true since x is a array 
    if(Array.isArray(x[0])) //true since x[0] is array 
     console.log('x is two dimensional array') 
+0

@downvoter, пожалуйста, объясните причину downvote – Strikers

+0

Хотя я не ответил на ваш ответ, но я не уверен, что это то, что я ищу. Вместо 'x = [[1,2,3], [4,5,6]];', я ищу детектирование типа 'x = [[1,2,3] [4,5, 6]]; '(без запятой) –

+1

x = [[1,2,3] [4,5,6]]; недействителен в javascript, за исключением, если это строка – Strikers

0
function myMethod(param){ 
    if(param instanceof Array) 
    { 
     // check that no element is an array 
     return !param.some(function(item){ 
      return item instanceof Array; 
     }); 
    } 

    return false; 
} 

console.log(myMethod([1,2,3,4])); // true 
console.log(myMethod([1,2,3,4, [1,2]])); // false 

Я не понимаю, как у вас есть вход, который может быть a,b,c,d и [a,b,c,d] - Как вы прототип?

+0

Я пишу функцию, которая вычисляет режим списка элементов. Он должен возвращать число (ы), которое больше всего встречается в наборе значений. –

+0

Каков прототип функции? –

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