की मैं इस तरह की वस्तुओं की एक बड़ी (1000+) सूची है मान लेते हैं:जावास्क्रिप्ट में JSON ऑब्जेक्ट्स की सूची फ़िल्टर करने का उच्चतम प्रदर्शन तरीका क्या है?
[{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
मैं नाम (चरित्र वार) द्वारा इस सूची को फ़िल्टर करना चाहते हैं।
filter('j') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
filter('jo') => [{name: 'john dow', age: 38, gender:'m'}, ..]
filter('dow') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
ऐसा करने का उच्चतम प्रदर्शन तरीका क्या है? RegEx स्पष्ट रूप से चाबियों में से एक है, सूची को ऑर्डर करने से पहले अगर आप मानते हैं कि उपयोगकर्ता आमतौर पर शुरुआत से नाम शुरू करना चाहता है तो यह भी एक अच्छा विचार हो सकता है, लेकिन यह केवल कुछ मामलों में मदद करता है।
क्या फ़िल्टर करने के लिए कोई जावास्क्रिप्ट अंतर्निहित कार्य है? मैं उम्मीद करता हूं कि वे जावास्क्रिप्ट कार्यान्वयन से तेज़ हों।
पीएस .: हाँ, मैं ऑफ़लाइन क्षमताओं के कारण क्लाइंट पक्ष पर फ़िल्टर करना चाहता हूं।
असल में यदि वे जावास्क्रिप्ट में ऑब्जेक्ट्स हैं, तो वे अब JSON नहीं हैं। "JSON" * केवल * नेटवर्क पर उस जानकारी को स्थानांतरित करने के लिए उपयोग किया जाने वाला नोटेशन (या संभवतः इसे संग्रहीत करता है)। एक जावास्क्रिप्ट प्रोग्राम के अंदर वे केवल "जावास्क्रिप्ट ऑब्जेक्ट्स" होते हैं (जब तक कि आप एक स्ट्रिंग के बारे में बात नहीं कर रहे हैं जिसमें * एन्कोडेड JSON डेटा शामिल है, इस मामले में आपको इसे और अधिक काम करने से पहले जावास्क्रिप्ट ऑब्जेक्ट्स में कनवर्ट करना चाहिए)। –
यदि आप "ओह" खोजते हैं तो क्या होगा? –
@ जोचिमसॉयर आप सही हैं ..मैंने इसे ठीक किया;) फ़िल्टर ('ओहएन') => [{नाम: 'जॉन डॉव', आयु: 38, लिंग: 'एम'}, ..] – wzr1337