Вы должны использовать Object.keys и Array.filter:
var result = {1: "PASS", 2: "PASS", 3: "FAIL", 4: "PASS", 5: "FAIL"};
var passCount = Object.keys(result).filter(function(key){
return ( result[key] === 'PASS' );
}).length;
Я написал приложение довольно большого размера на GWT, и должен сказать, что я впечатлен GWT даже больше, чем когда начинался проект. Мое общее «ощущение» платформы таково, что все действительно хорошо продумано, и они ничего не делают, если не умеют делать это хорошо, и могут делать это хорошо во всех браузерах (пользователи IE остаются вашими пользователями!)
Теперь имейте в виду, что GWT действительно выделяется в создании больших, высокодинамичных одностраничных веб-приложений. Если ваша цель состоит в том, чтобы улучшить статическую страницу с некоторыми эффектами javascript, то GWT является огромным излишеством (gquery может изменить это, но у меня нет опыта работы с gquery)
Некоторые функции, которые мне нравятся, включают:
Просто GWT качает, Google делает "волну Google" полностью на GWT.
Я сделал несколько проектов за несколько лет, и это фантастика. Возвращение к инфраструктуре на основе JS / JSP / request действительно ужасно.
Не хочу отказываться от проверок времени компиляции, модульных тестов в моей IDE, рефакторинга IDE и т. Д., Совместного использования кода между различными уровнями, солидного набора виджетов, невероятно хорошо продуманной среды.
Может сделать намного больше, намного быстрее и легче в обслуживании.
Как и любой другой инструмент, его нужно использовать правильно. Можно умело владеть молотком и построить что-нибудь красивое, или просто размахивать им и причинять больше вреда, чем пользы.
Google Wave , я думаю, стал прототипом того, «что возможно» с GWT. 1289] По-прежнему довольно сложно найти хорошие шаблоны проектирования GWT, потому что технология слишком нова и может навредить усилиям по разработке очень многофункционального и крупномасштабного веб-приложения в GWT. Перед тем, как начать такой проект, я бы порекомендовал посмотреть примеры шаблона модель-представление-презентатор (MVP) и обязательно использовать его или что-то подобное в качестве основы для потока управления вашего веб-приложения. Одна хорошая вещь в GWT и написании кода на Java,
Я кратко рассмотрел его для более старого приложения на одной из моих работ, и должен признать, что это было очень впечатляюще. Весь код был написан на Java, а javascript был красиво построен.
В нем был AJAX, динамические страницы, работа. Для этого также есть плагины, такие как Ext GWT framework.
Это определенно стоит изучить и попробовать, но вы можете обнаружить, что цикл разработки «не кажется правильным», поэтому вы можете использовать обычный JavaScript.
Если вы знакомы как с JavaScript, так и с Java, вы действительно идеально подходите для получения максимальной отдачи от GWT. Многие люди не осознают, что GWT довольно многоуровневый и что вы действительно можете решить, на каком из этих уровней вы хотите работать.
Например, я иногда пишу прямо в библиотеке DOM для проектов. Это очень похоже на написание кода JavaScript, за исключением того, что вы можете правильно использовать IDE и получить мощь компилятора. Из компилятора я получаю статическую проверку типов, много хороших оптимизаций компилятора и (на самом деле, мой любимый для поддержки кода) утверждения режима отладки. Никто на самом деле никогда не уделяет много внимания способности делать утверждения, но это ' Так приятно иметь возможность скомпилировать режим отладки, который выполняет дорогостоящие проверки, чтобы выявить ошибки, а затем выключить режим отладки, и код просто испарится. (Не только утверждения assert удаляются, но и весь код, доступный из asserts, также компилируется.)
В других случаях я пишу код для библиотеки пользовательского интерфейса GWT. Этот код немного похож на swt-код или SWT-код, поэтому он удобнее всего для чистых java-разработчиков. Работая на этом уровне, вам не нужно так сильно беспокоиться о DOM, и обычно можно создать приложение без написания JavaScript. Иногда вы сталкиваетесь с ошибкой, когда что-то не работает должным образом в определенном браузере. Люди из GWT рассматривают эти ошибки.
Вы можете выбрать, на каком уровне абстракции вы хотите работать. На каждом уровне есть компромиссы,
Я создал два довольно существенные приложения GWT за три года работы в Google. Он выполняет то, что обещает - мои приложения были гораздо более интерактивными и гораздо более удобными, чем мои знания Javascript, и мой инструментарий Javascript позволил бы мне создавать с использованием других инструментов.
Я также нашел приложения более интерактивными и веселыми, чем чисто серверные альтернативы, которые я использовал до перехода к нему.
Это не лишено недостатков, но это очень продуктивная среда для работы с приложениями, которые я делаю.
И обязательно посмотрите презентацию Келли. Он и некоторые другие из I / O дают действительно четкое представление о том, что может делать GWT.
Я разрабатывал новое приложение на GWT в течение года, и это было на удивление приятно. Подмножество Java, используемое в GWT, вызывает некоторые головные боли, но в конце концов ничего серьезного. Когда я присоединился к проекту, у меня не было особых знаний JavaScript, но я думаю, что это не было проблемой.
Общие проблемы, связанные с GWT, с которыми я сталкивался, обычно имели отношение к Ext GWT / GXT framework или интеграции FCKEditor.
Я думаю, что GWT делает то, что говорит на жестяной банке ...
5 главных причин для выбора GWT:
Гобелен может быть слишком сложным, и кривая обучения для новичков довольно крутая. разработчики, которые только начинают \ присоединяются к команде. Esp. на более крупных проектах.
Я обнаружил, что могу разрабатывать «более богатые» приложения, используя GWT, видя, что моя сила - Java, а не Javascript. Чтобы реализовать аналогичную функциональность с помощью Tapestry, мне пришлось бы вручную писать Javascript, который позже стал бы кошмаром обслуживания.
Совместимость с браузерами, я тратил много времени, пытаясь заставить свой рукописный Javascirpt работать со всеми разные браузеры (как я уже сказал, Javascript - не моя сильная сторона :-) Компилятор GWT скрывает меня от этого, в результате чего я трачу больше времени на написание функций.
Синяя кнопка возврата,
Я не знал много Javascript, когда пытался создать свой сайт. Собственно, поэтому я и откладывал создание сайта.
Так что для меня GWT сыграл огромную роль, поскольку позволил мне создать динамичный, кроссбраузерный сайт, который я определенно не смог бы создать, не приложив значительных усилий для изучения Javascript.