संदर्भ के लिए:
यह काम नहीं करता:
चलो {खोज, बुकमार्क, समूह, सेपरेटर, सहेजें, निकालें, मेनू, टूलबार, UNSORTED} = आवश्यकता होती है ("एसडीके / स्थान / बुकमार्क"); Var डु = []; खोज ({समूह: TOOLBAR}) पर ("डेटा", फ़ंक्शन (आइटम) {यदि (item.group.title == "workMode990") {du [du.length] = आइटम; console.log ("मैरी" , डु); //item.group = UNSORTED; // save (आइटम);}});
एक सरणी कैसे बनाएं, जैसे कि बुकमार्क पैनल का क्रम?
आपका कोड लिखित रूप में काम करता है या नहीं, हो सकता है। यह संभव है कि आप इस तथ्य के लिए लेखा नहीं कर रहे हैं कि फ़ंक्शन एसिंक्रोनस है।
मैं संभवत: इससे थोड़ा अलग तरीके से कोड करूँगा:
let {search, बुकमार्क, समूह, सेपरेटर, सेव, निकालें, मेनू, टूलबार, UNSORTED} = आवश्यकता होती है ("एसडीके / स्थान / बुकमार्क"); // नोट: उपरोक्त पंक्ति में आपके कोड में एक वर्तनी त्रुटि है: सेपरेटर को विभाजक से अलग होना चाहिए; Var duValid = false; खोज ({समूह: TOOLBAR}) पर ("अंत", फ़ंक्शन (searchResultArray) {// यह तब निष्पादित होता है जब खोज पूर्ण हो जाती है। // searchResultArray बुकमार्क आइटम की एक आदेश सूची है। Du = searchResultArray.filter (function ( ResultItem) {// जब परीक्षण (कंसोल लॉगिंग) किया जाता है, तो केवल निम्न पंक्ति की आवश्यकता है: // रिटर्न परिणामइटम.group.title === "workMode990"; यदि (resultItem.group.title === "workMode990") { कंसोल.लाग ("वैध परिणाममूलम:", परिणामइटम); सत्यता वापस करें;} // else console.log ("अस्वीकृत परिणाम आईटीम:", परिणामइटम); वापसी वापस;}); duValid = true; // यू यहाँ वैध है। जो कुछ भी आप इसके साथ करने जा रहे हैं उसे यहां पर करें, या // एक फ़ंक्शन कॉल करें जो प्रसंस्करण जारी रहता है।}); // डु यहाँ मान्य नहीं है
इसके कारण मैं इसके बजाय इस्तेमाल करेगा:
- आपको
खोज ()। ("अंत") को पकड़ने की आवश्यकता है घटना वैसे भी जानना है जब आपकी खोज पूर्ण हो गई है और आपके पास सभी मान्य डेटा हैं यदि आप इस घटना को नहीं पकड़ते हैं, तो आपके पास खोज पूरी होने पर जानने का कोई तरीका नहीं है।
खोज का उपयोग करना ()। पर ("डेटा")
परिणाम आपके कोड पाया प्रत्येक डेटा आइटम के लिए एक घटना को संभालने। आपको यह इस तरह से संभालने के लिए कोई वास्तविक आवश्यकता नहीं है, और यह एक घटना के बजाय प्रत्येक घटना के प्रसंस्करण के अतिरिक्त ओवरहेड में परिणाम है। अगर आपको लगता है कि आप स्मृति सीमित हो सकते हैं, तो यह एक बेहतर समाधान हो सकता है हालांकि, ऐसा करने से वास्तव में खोज की आंतरिक प्रसंस्करण के आधार पर किसी भी मेमोरी को नहीं बचाया जा सकता है।
मैंने अस्वीकृत खोज परिणाम आइटमों को वैध लोगों के अलावा कंसोल में प्रिंट करना जोड़ा है यदि हम डीबगिंग के लिए लॉगिंग करने जा रहे हैं, तो हम यह सत्यापित करने के लिए भी लॉग इन कर सकते हैं कि खोज अपेक्षित परिणाम लौट रहा है, और अपेक्षित लोगों को स्वीकार / अस्वीकार कर दिया जा रहा है।
एक महत्वपूर्ण कारण मैंने लॉगिंग अस्वीकार किए गए resultItem
s के कंसोल के लिए यह है कि मुझे उम्मीद है कि आप du
में कुछ भी नहीं करेंगे, जो आपके वर्तमान तर्क को दिया जाएगा। हालांकि मैंने इसे परीक्षण नहीं किया है, मेरी उम्मीद यह है कि आपका खोज ({समूह: TOOLBAR})
सभी बुकमार्क जो कि बुकमार्क टूलबार में हैं वापस करना चाहिए। हालांकि, आप तब सभी बुकमार्क को फ़िल्टर कर सकते हैं जो workMode990
समूह में नहीं हैं। यह सभी बुकमार्क को फ़िल्टर करना चाहिए क्योंकि TOOLBAR नहीं है।
क्योंकि आपने मेरे मूल प्रश्न का उत्तर नहीं दिया है "आप क्या प्राप्त करने की उम्मीद कर रहे हैं?" यह निर्धारित करना संभव नहीं है कि आप वास्तव में पूरा करने का प्रयास क्यों कर रहे हैं। इस प्रकार, अनुमान लगाना जरूरी है।
मुझे संदेह है कि जो भी आप करने का प्रयास कर रहे हैं वो सभी कोड को workMode990
समूह में मिलते हैं यदि ऐसा मामला है तो निम्न कार्य करना चाहिए:
चलो {खोज, बुकमार्क, समूह, सेपरेटर, सेव, निकालें, मेनू, टूलबार, UNSORTED} = आवश्यकता है ("sdk / places / bookmarks "); // नोट: उपरोक्त पंक्ति में आपके कोड में एक वर्तनी त्रुटि है: सेपरेटर को विभाजक से अलग होना चाहिए; Var duValid = false; खोज ({group: "workMode990"}) पर ("अंत", फ़ंक्शन (searchResultArray) {// यह निष्पादित होता है जब खोज पूरा हो जाती है। // searchResultArray बुकमार्क आइटम की एक आदेश सूची है। Du = searchResultArray; duValid = सच है; // du यहां वैध है। जो कुछ भी आप इसके साथ करने जा रहे हैं, या // कॉल करें, एक फ़ंक्शन जो प्रसंस्करण जारी रहता है।}); // डु यहाँ मान्य नहीं है
No comments:
Post a Comment