2012-08-30 9 views
21

Kocham węzeł JS i, pochodzący z tła Java, jestem zainteresowany nawet wypróbowaniem go dla niektórych projektów, w których węzeł może wydawać się nieco rozciągliwy, na przykład projekt wyszukiwarki.Węzeł JS, tradycyjne struktury danych? (np. Set, itp.), coś podobnego do Java.util dla węzła?

Jedną z rzeczy, które mnie trochę zdezorientowały, wydaje się, że w JavaScript brakuje tradycyjnych struktur danych, na przykład zestawu, który ma precyzyjną definicję wykraczającą nawet poza informatykę, ponieważ był używany w matematyce, zanim istniały komputery (w zasadzie lista, która nie pozwala na duplikaty). Wydaje się, że przy korzystaniu z węzła JS nie ma biblioteki takiej jak Java.util, która ma te podstawowe typy danych, do których się przyzwyczaiłem, zdaję sobie sprawę, że mogę je sam utworzyć, ale to tylko dodaje więcej do projektu.

Czy są jakieś biblioteki dla węzła (lub ogólnie języka JavaScript), które to rozwiązują? Wydaje mi się, że węzeł ma duży potencjał do zastąpienia używania języka takiego jak Java dla wielu projektów, ponieważ ma wiele zalet pod względem szybkości rozwoju, ale musi odtworzyć struktury danych, które są traktowane jako coś oczywistego w bardziej dojrzałej platformie. może być zbyt dużym obciążeniem dla małego projektu.

Przepraszam, jeśli są inne pytania, ale spędziłem trochę czasu na szukaniu i nie wymyśliłem zbyt wiele.

+3

Jest 'Set' w harmonii (uruchom' węzeł --harmony'). – pimvdb

+0

dziękuję, nie jestem pewien, co to jest "harmonia", masz link, ponieważ moje wyszukiwanie google nie powoduje pojawienia się linku do projektu – Rick

+2

Jest to w zasadzie nazwa produkcji w toku następna wersja ECMAScript. W przypadku zestawów zobacz [to] (http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets). – pimvdb

Odpowiedz

3

Czy obejrzałeś Underscore.js? http://underscorejs.org/

Nie jest to jeden na jeden z java.util, ale zapewnia mnóstwo powszechnie potrzebnych funkcji narzędziowych.

+0

Nie, nie mam, ale na pewno to sprawdzę, dziękuję! – Rick

6

wydaje JavaScript brakuje tradycyjnej struktury danych ...

Tak, to jest javascript, sama koncepcja i realizacja struktury danych odbywa się zupełnie inaczej z języków takich jak Java.

Nie jestem pewien, czy naprawdę znajdziesz to, czego szukasz w JavaScript. Jakkolwiek, istnieją pewne biblioteki, takie jak underscore, które powinny ułatwić budowanie typów struktur, które chcesz.

0

Rozumiem, że ten wątek jest stary, ale chciał zadzwonić w celu przyszłego odniesienia i dla osób przybywających tutaj za pośrednictwem wyszukiwarki internetowej. Budowałem bibliotekę Node.js właśnie w celu wyeliminowania braku dostępności standardowych struktur danych w JavaScript, podobnie jak w przypadku kolekcji Java. Jest dostępna tutaj - https://github.com/monmohan/dsjslib.

Współpracownicy są mile widziane :)

6

Nie jest już prawdą, że plik node.js nie ma między innymi obiektów Set i Map.node.js has had them since at latest v12.

Ale jeśli chcesz mieć biblioteki takie jak java, sprawdź npm lub github. Nie jesteś ograniczony do tego, co jest standardem w node.js.

+0

Nie jesteś ograniczony ani w java, ale masz przynajmniej pewną spójność w jądrze językowym. – Gab

+0

@Gab Pozostaw przynętę wojenną przy drzwiach. Twój komentarz nie ma nic wspólnego z moją odpowiedzią lub pytaniem OP. –