मैं निम्नलिखित डेटा है:एक पेड़ से छँटाई डेटा
var data = [
{ index : 1, sort : 10, parent : 0 },
{ index : 2, sort : 7, parent : 0 },
{ index : 3, sort : 15, parent : 1 },
{ index : 4, sort : 4, parent : 0 },
{ index : 5, sort : 13, parent : 1 },
{ index : 6, sort : 20, parent : 5 },
{ index : 7, sort : 2, parent : 8 },
{ index : 8, sort : 6, parent : 5 },
];
मैं कैसे कुशलतापूर्वक ताकि मैं अंत दोनों अभिभावक आईडी और प्रकार मूल्य द्वारा इस क्रमित करूं:
var data = [
{ index : 4, sort : 4, parent : 0 },
{ index : 2, sort : 7, parent : 0 },
{ index : 1, sort : 10, parent : 0 },
{ index : 5, sort : 13, parent : 1 },
{ index : 8, sort : 6, parent : 5 },
{ index : 7, sort : 2, parent : 8 },
{ index : 6, sort : 20, parent : 5 },
{ index : 3, sort : 15, parent : 1 },
];
यह एक वृक्ष संरचना है। प्रत्येक तत्व तुरंत किसी भी बच्चे द्वारा पीछा किया जाता है और उसी शाखा के सभी तत्वों को क्रमबद्ध मूल्य से क्रमबद्ध किया जाता है।
सबसे अच्छा मैं साथ आ सकता हूं सबसे पहले माता-पिता द्वारा क्रमबद्ध करें और फिर प्रत्येक शाखा पर दूसरा प्रकार करें। यह अक्षम लगता है।
संपादित करें: उदाहरण सॉर्ट ऑर्डर गलत था। मैंने इसे सही कर दिया है।
स्पष्टीकरण के लिए संपादित करें: प्रत्येक नेस्टेड शाखा को शाखा के अंत में नहीं, मूल मूल्य के नीचे तुरंत दिखाई देने की आवश्यकता है।
संपादित करें: डेटा में और सुधार।
धन्यवाद टोमालक, यह ओओ जावास्क्रिप्ट का एक अच्छा सा है। मेरे साथ भी अधिक कुशल। रिकर्सन का एक बड़ा उदाहरण भी। – SystemicPlural
@ सिस्टमिकप्लर: धन्यवाद। कुछ मिनट पहले जोड़ा कार्यक्षमता भी देखें। – Tomalak
फिर से धन्यवाद। मैंने बेंचमार्क करने का फैसला किया। आपका जवाब मेरी तुलना में लगभग 250 गुना तेज है। जिज्ञासा से, मैंने फिर आपके जवाब को सिंगलटन बंद कर दिया और आगे 10% प्राप्त किया। यकीन नहीं है कि क्यों। यह केवल एक पेड़ को संभाल सकता है क्योंकि यह एक सिंगलटन है, लेकिन यह मेरे उपयोग के मामले के लिए ठीक है। – SystemicPlural