Что-то похожее на java.util в Javascript?

Я думаю, что Javascript - это фантастический язык. Мне нравятся все небольшие особенности, модель наследования, отсутствие классов и т.д. Из-за этого я никогда не хотел изучать фреймворк как все те, на которые я смотрел (jQuery, MooTools, Prototype, Dojo) заставляют вас изменять способ написания кода, во многих случаях это даже не Javascript.

Тем не менее, я испытываю такое же разочарование каждый раз, когда мне приходится внедрять что-то столь же фундаментальное, как хэш-таблица или связанный список. Конечно, я пишу его один раз и никогда больше, но учитывая, сколько раз эти структуры были закодированы другими людьми передо мной, мне действительно не нужно.

Существуют ли какие-либо "чистые" библиотеки Javascript, которые дадут вам кучу базовых структур данных и утилит, похожих на то, что вы найдете в java.util? Опять же, я не хочу, чтобы что-то изменилось, как я кодирую, я хочу использовать эти объекты в ванильном Javascript.

Спасибо

Ответы

Ответ 2

Возможно, не совсем то, что вы искали, но вас может заинтересовать Google Web Toolkit.

GWT - это набор инструментов с открытым исходным кодом, который позволяет веб-разработчикам создавать и поддерживать сложные интерфейсные приложения JavaScript на Java.

Одним из основных компонентов GWT является "библиотека эмуляции JRE", библиотека реализаций JavaScript из обычно используемых классов в стандартной библиотеке классов Java, такая как большинство классов пакетов java.lang и подмножество java.util.

"Во многих случаях это на самом деле даже не JavaScript"... Обратите внимание, что это буквально имеет место с GWT, но я считаю, что это заслуживает упоминания в этом вопросе.

Ответ 3

Честно говоря, я думаю, что вы сумасшедшие, не желая заглядывать в jQuery или Prototype или как раз о какой-либо веб-инфраструктуре, но если вы хотите использовать чисто ориентированные на кодирование вещи, вы можете посмотреть на Functional.js: http://osteele.com/sources/javascript/functional/

По моему мнению, большинство материалов "структуры данных" в библиотеках Java действительно не подходят для Javascript любым прямым способом. Одним из самых важных прозрений, которые я имел при изучении Javascript, было действительно "получить", что Javascript не похож на Java, и одним из первых шагов на пути к просветлению является прекращение попытки сделать его похожим на Java.

Ответ 4

Я написал автономную реализацию JavaScript хэш-таблицы, на которую, безусловно, влияет Java Hashtable: http://www.timdown.co.uk/jshashtable. Теперь я добавил реализацию HashSet.