दिलचस्प पोस्ट
यूएनसी पर पावरशेल्ड गेट-चाइलिटाम को गति कैसे करें घुंघराले ब्रेसिज़ को छोड़ने के लिए इसे खराब अभ्यास क्यों माना जाता है? एंड्रॉइड: स्पिनर को कस्टम ऑब्जेक्ट लिस्ट में बाँध कैसे करें? जावा थ्रेड्स और ओएस थ्रेड्स के बीच भेद? एंड्रॉइड, पता लगाएँ कि जब अन्य एप्लिकेशन लॉन्च होते हैं किसी स्ट्रिंग के लिए एक ArrayList कन्वर्ट करने का सर्वोत्तम तरीका dplyr: कैसे एक समारोह के अंदर group_by का उपयोग करें? html एक समूह में केवल एक चेकबॉक्स का चयन करें स्विफ्ट इक्वेटेबल प्रोटोकॉल WCF सेवा रिटर्निंग "विधि अनुमत नहीं है" java.util.NoSuchElementException – स्कैनर उपयोगकर्ता इनपुट पढ़ रहा है अजगर मॉड्यूल को रूट एक्सेस के बिना कैसे स्थापित करें? Node.js – अधिकतम कॉल स्टैक आकार पार हो गया है दो जीआईटी रिपॉजिटरी सिंक्रनाइज़ कैसे करें मैं Angular 2 के घटकों के बीच डेटा कैसे साझा करूं?

कोणीय जेएस में ऑब्जेक्ट प्रॉपर्टी से कैसे फ़िल्टर करें

मैं AngularJS में एक कस्टम फ़िल्टर बनाने का प्रयास कर रहा हूं जो एक विशिष्ट संपत्ति के मूल्यों के अनुसार ऑब्जेक्ट की एक सूची को फ़िल्टर करेगा। इस मामले में, मैं "ध्रुवीय" संपत्ति ("सकारात्मक", "तटस्थ", "नकारात्मक" के संभावित मानों) द्वारा फ़िल्टर करना चाहता हूं।

फिल्टर के बिना मेरा कामकाजी कोड यहां है:

HTML:

<div class="total"> <h2 id="totalTitle"></h2> <div>{{tweets.length}}</div> <div id="totalPos">{{tweets.length|posFilter}}</div> <div id="totalNeut">{{tweets.length|neutFilter}}</div> <div id="totalNeg">{{tweets.length|negFilter}}</div> </div> 

यहां JSON प्रारूप में "$ scope.tweets" सरणी है:

 {{created_at: "Date", text: "tweet text", user:{name: "user name", screen_name: "user screen name", profile_image_url: "profile pic"}, retweet_count: "retweet count", polarity: "Positive"}, {created_at: "Date", text: "tweet text", user:{name: "user name", screen_name: "user screen name", profile_image_url: "profile pic"}, retweet_count: "retweet count", polarity: "Positive"}, {created_at: "Date", text: "tweet text", user:{name: "user name", screen_name: "user screen name", profile_image_url: "profile pic"}, retweet_count: "retweet count", polarity: "Positive"}} 

सबसे अच्छा फिल्टर के रूप में मैं इस प्रकार के साथ आ सकता है:

 myAppModule.filter('posFilter', function(){ return function(tweets){ var polarity; var posFilterArray = []; angular.forEach(tweets, function(tweet){ polarity = tweet.polarity; console.log(polarity); if(polarity==='Positive'){ posFilterArray.push(tweet); } //console.log(polarity); }); return posFilterArray; }; }); 

यह विधि एक खाली सरणी देता है। और "console.log (polarity)" स्टेटमेंट से कुछ भी छपा नहीं है ऐसा लगता है कि मैं "पैरारिटी" की ऑब्जेक्ट प्रॉपर्टी तक पहुंचने के लिए सही पैरामीटर नहीं डाल रहा हूं।

कोई विचार? आपके उत्तर की बहुत सराहना की जाती है

वेब के समाधान से एकत्रित समाधान "कोणीय जेएस में ऑब्जेक्ट प्रॉपर्टी से कैसे फ़िल्टर करें"

आपको केवल filter फिल्टर का उपयोग करना होगा ( दस्तावेज देखें):

 <div id="totalPos">{{(tweets | filter:{polarity:'Positive'}).length}}</div> <div id="totalNeut">{{(tweets | filter:{polarity:'Neutral'}).length}}</div> <div id="totalNeg">{{(tweets | filter:{polarity:'Negative'}).length}}</div> 

बेला

दस्तावेज़ीकरण का पूरा जवाब है वैसे भी यह कैसे किया जाता है:

 <input type="text" ng-model="filterValue"> <li ng-repeat="i in data | filter:{age:filterValue}:true"> {{i | json }}</li> 

data एरे में केवल age को फ़िल्टर करेगा और सही मिलान के लिए सही होगा।

गहरी फ़िल्टरिंग के लिए,

 <li ng-repeat="i in data | filter:{$:filterValue}:true"> {{i}}</li> 

$ गहरे फिल्टर के लिए एक विशेष संपत्ति है और सही ऊपर की तरह सटीक मिलान के लिए है

आप इसे और अधिक गतिशील बनाने के लिए भी ऐसा कर सकते हैं।

 <input name="filterByPolarity" data-ng-model="text.polarity"/> 

तब आप एनजी-दोहराना इस तरह दिखेंगे

 <div class="tweet" data-ng-repeat="tweet in tweets | filter:text"></div> 

यह फिल्टर निश्चित रूप से केवल ध्रुवीकरण द्वारा फ़िल्टर करने के लिए इस्तेमाल किया जाएगा

आप यह कोशिश कर सकते हैं इसके लिए मेरे काम 'नाम' arr में एक संपत्ति है

 repeat="item in (tagWordOptions | filter:{ name: $select.search } ) track by $index 

हमारे नीचे संग्रह है:
यहां छवि विवरण दर्ज करें

सिंटैक्स: {{(Collection/array/list | filter:{Value : (object value)})[0].KeyName}}
उदाहरण: {{(Collectionstatus | filter:{Value:dt.Status})[0].KeyName}}
या
सिंटेक्स: ng-bind="(input | filter)"
उदाहरण: ng-bind="(Collectionstatus | filter:{Value:dt.Status})[0].KeyName"