मेरे नियंत्रक के अंदर, मैं ऑब्जेक्ट्स की एक सरणी फ़िल्टर करना चाहता हूं। इनमें से प्रत्येक ऑब्जेक्ट एक नक्शा है जिसमें स्ट्रिंग्स के साथ-साथ सूचियां भी शामिल हो सकती हैंAngularJS कस्टम फ़िल्टर फ़ंक्शन
मैंने $filter('filter')(array, function)
प्रारूप का उपयोग करने का प्रयास किया लेकिन मुझे नहीं पता कि मेरे फ़ंक्शन के अंदर सरणी के अलग-अलग तत्वों को कैसे एक्सेस किया जाए। मैं जो चाहता हूं उसे दिखाने के लिए यहां एक स्निपेट है।
$filter('filter')(array, function() {
return criteriaMatch(item, criteria);
});
और फिर criteriaMatch()
में, मैं अगर व्यक्तिगत संपत्ति में से प्रत्येक से मेल खाता है
var criteriaMatch = function(item, criteria) {
// go thro each individual property in the item and criteria
// and check if they are equal
}
मैं नियंत्रक में इन सभी करते हैं और सूचियों की सूची बनाता है और उन में स्थापित करने के लिए जाँच करेगा गुंजाइश। तो मुझे केवल इस तरह $filter('filter')
तक पहुंचने की आवश्यकता है। नेट में अब तक पाए गए सभी उदाहरणों में फ़ंक्शन के अंदर स्थिर मानदंड खोज हैं, वे किसी मानदंड वस्तु को पास नहीं करते हैं और सरणी में प्रत्येक आइटम के विरुद्ध परीक्षण नहीं करते हैं।
आपको फ़िल्टर की आवश्यकता क्यों है? आमतौर पर फिल्टर टेम्पलेट्स से उपयोग किया जाता है। क्या आप अपने नियंत्रक में केवल सादा कार्य नहीं कर सकते हैं यदि आप केवल वहां से इसका उपयोग कर रहे हैं? – Ketan
मैन्युअल रूप से सरणी के प्रत्येक तत्व को थ्रो करने के बजाए, मैंने सोचा कि हम कोणीय की $ फ़िल्टर ('फ़िल्टर') कार्यक्षमता का उपयोग कर सकते हैं (यदि हम केवल अनुमानित फ़ंक्शन निर्दिष्ट करते हैं तो प्रत्येक तत्व को फिर से शुरू करने का ख्याल रखेगा) – user2368436