मेरे पास एक दिलचस्प समस्या है जो मुझे लगता है।क्या पेड़ की संरचना या एल्गोरिदम एक पेड़ में चारों ओर घूमने के लिए है?
असल में, मैं आइटम, जहां प्रत्येक मद विभिन्न मूल्यों की मेटा डेटा, का एक निश्चित सेट है की एक सूची है।
उदाहरण के लिए:
- आइटम 1: {type = "text", लेखक = "उपयोगकर्ता ए ', संपादित दिनांक =" 2003/03/03 "}
- आइटम 2: {प्रकार = "तालिका", लेखक = "उपयोगकर्ता ए ', संपादित दिनांक =" 2006/04/05 "}
- आइटम 3: {प्रकार =" छवि ", लेखक =" उपयोगकर्ता B ", संपादित दिनांक =" 05/05/2005 "}
- आइटम 4: {type =" text ", लेखक =" उपयोगकर्ता B ", संपादित दिनांक =" 2007/05/07 "}
अब, जैसा कि यह खड़ा है, वस्तुओं की सूची एक मेज में flattened और प्रस्तुत किया गया है।
हालांकि, हम उपयोगकर्ताओं को पेड़ में ब्राउज़ करने की अनुमति देने का एक तरीका खोजना चाहते हैं, लेकिन अतिरिक्त लचीलापन के साथ कि वे पेड़ में मेटा-डेटा टैग प्रत्येक ऑर्डर को 'पिवोट' कर सकते हैं।
तो, शुरू में यह दिख सकता है:
Items
+ User A
+ Text
+ Table
-> Item 1
-> Item 2
+ User B
+ Image
+ Text
-> Item 3
-> Item 4
और इसलिए:
Items
+ Table
+ User A
+ 04/05/2006
-> Item 2
-> Item 2
-> Item 2
+ Text
+ User A
+ 03/03/2003
-> Item 1
-> Item 1
+ User B
+ 05/07/2007
-> Item 4
-> Item 4
-> Item 1
-> Item 4
+ Image
..
हालांकि, बजाय लगता है, जब कोई उपयोगकर्ता इस दौर फ्लिप और एक विशेष उपयोगकर्ता से संबंधित सभी आइटम देखने के लिए करना चाहता है पर।
मुझे उम्मीद है कि यह समझ में आता है।
तो, मैं क्या सोच रहा हूं, क्या यह कम लागत पर इसे प्राप्त करने के लिए सबसे अच्छा अभ्यास दृष्टिकोण है? प्रत्येक 'फ्लिप/शफल/पिवट' का नतीजा अच्छी तरह से एक पेड़ में दर्शाया जाता है, इसलिए स्पष्ट रूप से पहला विचार यह है कि जब कोई उपयोगकर्ता प्रतिनिधित्व बदलने का अनुरोध करता है, तो आवश्यकतानुसार वस्तुओं की सूची का एक नया पेड़ उत्पन्न किया जा सकता है। हालांकि, मैं उम्मीद कर रहा था कि शायद एक बेहतर तरीका हो सकता है, बस एक पेड़ को घूर्णन करना आदि।
साथ ही, यह कुछ ऐसा है जो उपयोगकर्ता के ब्राउज़र पर जावास्क्रिप्ट में कम्प्यूटेशनल रूप से सस्ता रूप से किया जा सकता है, अगर बैकएंड बस वापस लौटना था वस्तुओं की एक फ्लैट सूची?
बहुत धन्यवाद & तरह सादर,
जेमी
क्या यह जावा या जावास्क्रिप्ट में है? वे दो बहुत अलग भाषाएं हैं। –
@ रेवरेंड गोंजो - प्राथमिक रूप से जावास्क्रिप्ट में क्लाइंट ब्राउज़र को सर्वलेट को दोहराए गए अनुरोध किए बिना डेटा की प्रस्तुति को बदलने की अनुमति देने के लिए। हालांकि, अगर यह जेएस में करना बहुत गहन होगा, तो इसे हर बार जावा में संभाला जा सकता है। – Jay
मैं किसी ऐसे व्यक्ति को जानता हूं जिसने मोबाइल उपकरणों पर बड़े डेटा सेट देखने के लिए इसे लागू किया है (यदि मैं सही ढंग से समझता हूं)। मुझे लगता है कि यह किसी प्रकार का जावास्क्रिप्ट lib है। उन्होंने हमारे स्थानीय गतिशील भाषा समूह में दो बार एक प्रेजेंटेशन दिया है। यदि आप मुझे दिलचस्पी रखते हैं तो मुझे [email protected] पर ईमेल करें और मैं शायद आपको कनेक्ट कर सकता हूं। –