2012-08-30 24 views
21

मैं नोड जे एस प्यार कर रहा हूँ और, एक जावा पृष्ठभूमि से आ रही, यहां तक ​​कि कुछ परियोजनाओं जहां नोड जैसे कि खोज इंजन परियोजना के रूप में एक खंड, का एक सा लग सकता है के लिए इसे बाहर की कोशिश कर रहा में दिलचस्पी है।नोड जेएस, पारंपरिक डेटा संरचनाएं? (जैसे सेट, इत्यादि), नोक के लिए Java.util की तरह कुछ भी?

एक बात जो मैं थोड़ा उलझन में हूं, ऐसा लगता है कि जावास्क्रिप्ट में पारंपरिक डेटा संरचनाओं की कमी है, उदाहरण के लिए एक सेट, जिसमें कंप्यूटर विज्ञान से परे भी एक सटीक परिभाषा है, क्योंकि इसका उपयोग कंप्यूटर से पहले गणित में किया गया है (मूल रूप से एक सूची जो डुप्लिकेट की अनुमति नहीं देती है)। ऐसा लगता है कि नोड जेएस का उपयोग करते समय जावा.यूटिल जैसी कोई लाइब्रेरी नहीं है जिसमें इन बुनियादी डेटा प्रकारों का आदी हो गया है, मुझे पता है कि मैं उन्हें स्वयं बना सकता हूं लेकिन यह सिर्फ परियोजना के लिए अधिक ओवरहेड जोड़ता है।

वहाँ नोड (या सामान्य रूप में जावास्क्रिप्ट) कि इसका समाधान करने के लिए किसी भी libs? मुझे लगता है कि नोड में कई परियोजनाओं के लिए जावा जैसी भाषा के उपयोग को बदलने की बहुत संभावना है क्योंकि विकास की गति के मामले में इसका बहुत से फायदे हैं, लेकिन अधिक परिपक्व प्लेटफॉर्म में दिए गए डेटा संरचनाओं को फिर से बनाना है एक छोटी परियोजना के लिए बहुत अधिक ओवरहेड हो सकता है।

मैं माफी माँगता हूँ अगर वहाँ इस तरह अन्य सवाल कर रहे हैं, फिर भी मैं खोज कुछ समय बिताया और बहुत के साथ आने नहीं दिया।

+3

वहाँ 'है सद्भाव में Set' (चलाने' नोड --harmony')। – pimvdb

+0

धन्यवाद, मुझे यकीन नहीं है कि 'सद्भाव' क्या है, क्या आपके पास एक लिंक है क्योंकि इस पर मेरी Google खोज प्रोजेक्ट – Rick

+2

पर लिंक को चालू नहीं कर रही है, यह मूल रूप से कार्य-प्रगति का नाम है अगला ईसीएमएस्क्रिप्ट संस्करण। सेट के लिए, [यह] देखें (http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets)। – pimvdb

उत्तर

3

आप Underscore.js में देखा है? http://underscorejs.org/

यह java.util के साथ एक करने के लिए एक एक नहीं है, लेकिन इसे अधिक आवश्यक उपयोगिता कार्यों का एक गुच्छा प्रदान करता है।

+0

नहीं, मेरे पास नहीं है लेकिन मैं निश्चित रूप से इसे देख लूंगा, धन्यवाद! – Rick

6

यह जावास्क्रिप्ट पारंपरिक डेटा संरचनाओं की कमी है लगता है ...

हाँ, यह जावास्क्रिप्ट, बहुत अवधारणा और डेटा संरचना के कार्यान्वयन है जावा जैसी भाषाओं से काफी अलग ढंग से किया जाता है।

मुझे यकीन नहीं है कि आप वास्तव में जावास्क्रिप्ट के साथ जो खोज रहे हैं उसे ढूंढने जा रहे हैं। हाउवर, underscore जैसे कुछ पुस्तकालय हैं जो आपको इच्छित संरचनाओं के प्रकार को बनाना आसान बनाना चाहिए।

1

इस एक पर एक नज़र डालें।

5

Underscore.js के लिए हल्का और तेज़ विकल्प के रूप में, लो-डैश (http://lodash.com/) उन दिनों कर्षण प्राप्त कर रहा है ... लेकिन यह Java.util नहीं है! :-)

0

मैं समझता हूं कि यह धागा पुराना है लेकिन भविष्य के संदर्भ के लिए और वेब खोज के माध्यम से यहां आने वाले लोगों के लिए झुकना चाहता था। मैं Java संग्रहों के समान जावास्क्रिप्ट में मानक डेटा संरचनाओं की अनुपलब्धता को संबोधित करने के लिए ठीक से एक नोड.जेएस लाइब्रेरी का निर्माण कर रहा हूं। यहां उपलब्ध है - https://github.com/monmohan/dsjslib

योगदानकर्ताओं स्वागत है :)

7

Collections.js सूचियाँ, मैप्स, कतार, सेट, और ढेर, संगत इंटरफेस के साथ सभी है। Github.

6

अब यह सच नहीं है कि node.js में Set और Map अन्य चीजों के साथ ऑब्जेक्ट्स नहीं हैं।node.js has had them since at latest v12

लेकिन निश्चित रूप से, यदि आप जावा जैसे पुस्तकालय चाहते हैं, तो एनपीएम या गीथब की जांच करें। आप node.js. में मानक क्या आता है तक सीमित नहीं हैं

+0

आप जावा में न तो सीमित हैं, लेकिन आपके पास भाषा कर्नेल – Gab

+0

@Gab में कम से कम कुछ सहानुभूति है, अपनी भाषा-युद्ध-द्वार को दरवाजे पर छोड़ दें। आपकी टिप्पणी के मेरे उत्तर या ओपी के सवाल से कोई लेना देना नहीं है। –

12

ES6 एक सेट वर्ग में बनाया गया है:

new Set([iterable]); 

देखें: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set

+2

नोट: node.js अब यह "बॉक्स के बाहर" लागू करता है। यदि आप बस मेरे जैसे सेट और मैप की तलाश में हैं, तो आपको बस इतना ही चाहिए, और चट्टान पर। –

+0

क्या यह अनिवार्य रूप से हैशसेट है? मैं ओ (1) के लिए शामिल/कार्यों के लिए चाहते हैं। – CamHart