| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: для новичков > Проверка на массив |
| Автор: animegirl 5.12.2012, 04:42 |
| Какой самый верный способ проверки данных на принадлежность к массиву, в гугле много разных вариантов, но большинство из них мне либо не понятны, либо работают в разных браузерах по разному :( Есть какой-нибудь универсальный метод? |
| Автор: ksnk 5.12.2012, 05:58 |
| http://stackoverflow.com/questions/784012/javascript-equivalent-of-phps-in-array ? |
| Автор: animegirl 5.12.2012, 06:12 |
| ksnk, 1. это скорее is_array() чем in_array() 2. Нельзя использовать посторонние библиотеки |
| Автор: ksnk 5.12.2012, 06:57 | ||
Что в этом примере использует сторонние библиотеки? В каком месте этого примера это is_array, а не in_array? |
| Автор: animegirl 5.12.2012, 07:00 |
| Вы не поняли, МНЕ нужен is_array() |
| Автор: ksnk 5.12.2012, 07:22 | ||
|
| Автор: Aliance 5.12.2012, 14:17 | ||
| ksnk, не очень хорошее решение, как мне кажется (http://shamansir.github.com/JavaScript-Garden/#types.instanceof). Соответственно я бы предложил следующий вариант:
|
| Автор: CruorVult 5.12.2012, 14:37 | ||
|
| Автор: ksnk 5.12.2012, 14:46 | ||
| Aliance, instanceof всего лишь бежит по цепочке прототипов. Ваш метод определения объектов точно так же не будет работать в примере их той статьи
Смею предположить, что объект Array будет один и тот же даже для объектов из разных документов в одном броузере. |
| Автор: skyboy 5.12.2012, 15:59 |
в данном случае, у нас не с примитивами работа(да и то, new Object(someVariable) instanceof Number сработало б). arg instanceof Array вполне себе работает, как и [] instanceof Array |
| Автор: Aliance 5.12.2012, 17:00 |
я этого и не отрицал |
| Автор: skyboy 5.12.2012, 19:51 |
что тогда означает: ? |
| Автор: animegirl 5.12.2012, 21:40 |
| instanceof вариант работает хорошо, но вашу полемику читать интересно, узнаю много нового ) |
| Автор: Aliance 6.12.2012, 10:17 |
означает, что не смотря на то, что в данной конкретной ситуации и этот поход работать будет, я бы советовал сразу использовать "более правильный". Аргументацию я привел, дальше выбор за топикстартером |
| Автор: JAYBE 10.12.2012, 17:00 | ||
А как же ещё один из верных способов?
|
| Автор: Aliance 10.12.2012, 18:06 | ||
Опять-таки, в данном примере сработает, но в случае сложного прототипирования могут быть казусы.
Запустите скрипт дважды, во второй раз раскомментируйте строчку №2. |
| Автор: Amphiluke 10.12.2012, 18:48 |
Нестандартное свойство name в IE вообще не определено в Function.prototype |