Как проверить есть ли в массиве элемент?

Вот IE ругаеться на это:
if(result['out'])
у меня просто не всегда в результате есть result['out'].В Firefox и Опере все нормально.Заранее спасибо!
6 ответов

А у меня никуда не ругается:
var result = [];// result['out'] = 123;if (result['out']) {    alert(1);}else {    alert(2);}
Закомментирывая/раскомментирывая строку 2, получаем разные алерты. Сообщение об ошибке в IE не выдается. Версия осла - 7.А у тебя что говорит? Может, поможет такая запись: if (result.out).


Не должен ругаться. Но можно так:if(result && typeof(result['out']) != 'undefined') ...


Говорит объект не поддерживает это свойство или метод.Добавлено через 2 минуты и 37 секундАааа, нее. Это я не так понял. Он на что-то другое ругается:
function(result, errors) {                if (result) {                  if(result['out']) {                     window.location.href = result['out'];                 } else {alert(':'+result['msg'])                    chat = document.getElementById("chat");                     for(var i in result['msgs']) {                        div = document.createElement('div');                        div.innerHTML = htmlmsg(result['msgs'][i]['type'],                                                result['msgs'][i]['time'],                                                result['msgs'][i]['name'],                                                result['msgs'][i]['htmlname'],                                                result['msgs'][i]['msg'] );                        if(backSlide)                        {                            chat.appendChild(div, chat.firstChild);                            chat.scrollTop=chat.scrollHeight;                        }                        else                        {                            chat.insertBefore(div, chat.firstChild);                        }                    }                    lid = result['lid'];                                   }                }            }


Просто на несуществующее свойство ругаться, по идее, не будет (undefined и undefined себе;). А вот на свойство несуществующего свойства ругается - у undefined-а этого св-ва действительно нет...


Если вот эту строчку закоментировать, ИЕ перестаёт ругаться! chat = document.getElementById("chat");  - ну и бред  Добавлено через 3 минуты и 37 секундЗамение chat на mychat - и все заработало!!!   
                    mychat = document.getElementById("chat");                     for(var i in result['msgs']) {                        mydiv = document.createElement('div');                        mydiv.innerHTML = htmlmsg(result['msgs'][i]['type'],                                                result['msgs'][i]['time'],                                                result['msgs'][i]['name'],                                                result['msgs'][i]['htmlname'],                                                result['msgs'][i]['msg'] );                        if(backSlide)                        {                            mychat.appendChild(mydiv, mychat.firstChild);                            mychat.scrollTop=chat.scrollHeight;                        }                        else                        {                            mychat.insertBefore(mydiv, mychat.firstChild);                        }
Всем спасибо!