मैं 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 प्रारूप में "$ गुंजाइश.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;
};
});
यह विधि एक खाली सरणी देता है। और "कंसोल.लॉग (ध्रुवता)" बयान से कुछ भी मुद्रित नहीं है। ऐसा लगता है जैसे मैं "ध्रुवता" की वस्तु संपत्ति तक पहुंचने के लिए सही पैरामीटर नहीं डाल रहा हूं।
कोई विचार? आपकी प्रतिक्रिया की बहुत सराहना की गई है।