Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.04.2010, 22:51
Аспирант
Отправить личное сообщение для Ilyan Посмотреть профиль Найти все сообщения от Ilyan
 
Регистрация: 22.03.2008
Сообщений: 45

Как отличить массив от объекта
Есть переменная, в ней может быть либо массив, либо элемент DOM. Как узнать, что в ней? typeof в обоих случаях возвращает object.
Ответить с цитированием
  #2 (permalink)  
Старый 20.04.2010, 22:59
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

if(jamesBond instanceof window.Array){
//...
}


http://javascript.ru/instanceof
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #3 (permalink)  
Старый 20.04.2010, 23:07
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

function isArray(arg) {
    return Object.prototype.toString.call(arg) == "[object Array]";
}

var array = [1, 2, 3];
var node = document.createElement("div");

alert(isArray(array));
alert(isArray(node));


А вообще лучше по свойствам отличать:
if (arg.nodeType) {

    arg // — DOM-элемент

} else if ("length" in arg) {

    arg // — NodeList или Array

}

Последний раз редактировалось Octane, 20.04.2010 в 23:10.
Ответить с цитированием
  #4 (permalink)  
Старый 20.04.2010, 23:08
Аспирант
Отправить личное сообщение для Ilyan Посмотреть профиль Найти все сообщения от Ilyan
 
Регистрация: 22.03.2008
Сообщений: 45

Nekromancer, Octane, спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать массив данных на сервер DVVID Общие вопросы Javascript 7 08.04.2010 12:11
как записать id всех элементов в массив? SunYang Общие вопросы Javascript 21 06.02.2010 22:50
Как удалить массив? SunYang Общие вопросы Javascript 14 05.02.2010 14:31
Как по событию вызвать метод определенного экземпляра объекта jvs jQuery 3 24.12.2009 16:04
Как лучше сделать глобальный массив skyfish AJAX и COMET 4 17.02.2009 18:05