2012-08-30 17 views
21

Sono innamorato del nodo JS e, provenendo da uno sfondo Java, sono interessato a provarlo anche per alcuni progetti in cui il nodo può sembrare un po 'esagerato, come un progetto di un motore di ricerca.Nodo JS, strutture dati tradizionali? (come Set, ecc.), qualcosa come Java.util per il nodo?

Una cosa che ho un po 'confuso da è che sembra JavaScript manca strutture di dati tradizionali, ad esempio un set, che ha una definizione precisa che si estende anche al di là informatica come è stato utilizzato in matematica prima che i computer esistessero (fondamentalmente una lista che non consente duplicati). Sembra che quando si usa il nodo JS non ci sia una libreria come Java.util con questi tipi di dati di base a cui sono abituato, mi rendo conto che potrei crearli da solo, ma questo aggiunge solo un ulteriore overhead al progetto.

Esistono librerie per il nodo (o JavaScript in generale) che risolvono questo problema? Penso che il nodo abbia molte potenzialità per sostituire l'uso di un linguaggio come Java per molti progetti in quanto ha così tanti vantaggi in termini di velocità di sviluppo, ma dover ricreare strutture dati che sono date per scontate in una piattaforma più matura potrebbe essere troppo sovraccarico per un piccolo progetto.

Mi scuso se ci sono altre domande come questa, tuttavia ho passato un po 'di tempo a cercare e non mi è venuto in mente molto.

+3

C'è 'set' in armonia (eseguire' nodo --harmony'). – pimvdb

+0

grazie, non sono sicuro di cosa sia 'harmony', hai un link dato che le mie ricerche su google su questo non sembrano essere il link al progetto – Rick

+2

È fondamentalmente il nome di un work-in-progress di la prossima versione di ECMAScript. Per gli insiemi, vedi [this] (http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets). – pimvdb

risposta

3

Hai controllato Underscore.js? http://underscorejs.org/

Non è un uno a uno con java.util ma fornisce una serie di funzioni di utilità comunemente necessarie.

+0

No, non l'ho fatto ma lo controllerò sicuramente, grazie! – Rick

6

sembra che JavaScript è carente strutture di dati tradizionali ...

Sì, questo è javascript, il concetto e la realizzazione di struttura dei dati viene eseguita in modo diverso da linguaggi come Java.

Non sono sicuro che davvero riuscirai a trovare quello che stai cercando con Javascript. Tuttavia, ci sono alcune librerie come underscore che dovrebbero rendere più semplice la costruzione del tipo di strutture che si desidera.

5

Come un'alternativa più leggera e più veloce a Underscore.js, Lo-Dash (http://lodash.com/) sta ottenendo la trazione in quei giorni ... Ma questo non è Java.util! :-)

0

Capisco che questo thread è vecchio ma voleva inserire in un riferimento futuro e per le persone che arrivano qui tramite ricerca web. Ho costruito una libreria Node.js proprio per risolvere la mancata disponibilità di strutture dati standard in JavaScript, simili alle raccolte Java. È disponibile qui - https://github.com/monmohan/dsjslib.

collaboratori sono benvenuti :)

6

Non è più vero che node.js non ha oggetti Set e Map tra le altre cose.node.js has had them since at latest v12.

Ma ovviamente, se vuoi librerie come java, controlla npm o github. Non sei limitato a ciò che viene fornito in node.js.

+0

non sei limitato né in java, ma hai almeno un po 'di coerenza nel kernel della lingua – Gab

+0

@Gab Lascia il tuo linguaggio-guerra-esca alla porta. Il tuo commento non ha nulla a che fare con la mia risposta o la domanda dell'OP. –