Предположим, у меня есть класс javascript Connection и у меня есть переменная, которая должна содержать массив объекта Connection.Как проверить эту переменную Массив объектов, определенных в Javascript
Как проверить переменную?
Предположим, у меня есть класс javascript Connection и у меня есть переменная, которая должна содержать массив объекта Connection.Как проверить эту переменную Массив объектов, определенных в Javascript
Как проверить переменную?
[your array of Connection].every(elem => elem instanceof Connection);
Это возвращает true, если все элементы в вашем массиве являются соединениями, false в противном случае
Функция, которая проверяет ваши потребности
function isAllConnections(array) {
return array.every(function(elem) {
return elem instanceof Connection;
});
}
Visual Studio показывает ошибку JS при знаке '=>' –
@ P.K. Это код ES6, я просто обновляю код для ES5, попробуйте его – isvforall
Если вы просто хотите проверить, переменная существует и содержит значения:
var myArrayOfConnections = [];
if(myArrayOfConnections && myArrayOfConnections.length) {
//do stuff
}
Первая проверка будет оценить, существует ли она, вторая будет проверить длина больше 0
, но как проверить, что каждый элемент является объектом Connection? –
Возможно использование экземпляра. Без разработки, ваш вопрос немного неясно, но это может быть полезно:
Первым делом нужно убедиться, что переменная массива:
Array.isArray(x);
function isArray(x) { return x.constructor.toString().indexOf("Array") > -1;}
x instanceof Array
Затем вы можете проверить каждый элемент в массиве:
for(var i in x) { if(x[i].isPrototypeOf(Connection)) }
. Я буду тестировать ваше решение завтра, хорошо выглядит :) –
'connectionArray [c] .isPrototypeOf (Connection)' дает мне ложные данные с правильными данными –
Вы можете уточнить? Непонятно, о чем вы спрашиваете. – pablochan
Пожалуйста, разместите код, содержащий пример того, чего вы пытаетесь достичь, и объясните, как вы хотите проверить эту переменную. См. [Как спросить] (http://stackoverflow.com/help/how-to-ask) – Rhumborl