के साथ मूल्य के लिए जावास्क्रिप्ट कुशल खोज सरणी यहां मेरे जावास्क्रिप्ट ज्ञान में एक अंतर है। मैं किसी विशेष मूल्य के लिए ऑब्जेक्ट मानों की एक सरणी खोजना चाहता हूं और इसे वापस कराना चाहता हूं।jQuery
साल मैं जावास्क्रिप्ट लिख दिया है के लिए, मैं इसे इस तरह लागू करने दिया गया है:
var itemClicked = (function(){
var retval;
//Note self.inventory.itemsArray is an array of JS objects
$(self.inventory.itemsArray).each(function(i){
if(parseInt(this.id) === parseInt(idOfItem)){
retval = this;
return false;
}
});
return retval;
})();
यह काम करता है, लेकिन मैं एक और अधिक सुरुचिपूर्ण तरीका है कुछ भी रूप में यकीन है। कृपया मुझे बताओ!
संपादित करें - समाधान
धन्यवाद नीचे अपने जवाब के साथ @gdoron करने के लिए।
var myVar = $(self.owner.itemsArray).filter(function(){
return parseInt(this.id) == parseInt(recItemID);
}).get(0);
नोट: .get(0)
अंत में जोड़ी गई थी क्योंकि myVar एक jQuery वस्तु के रूप में लपेटा जाता है।
परिभाषित करें "* अधिक कुशल *।" कुछ "* कम अक्षर *" – Alexander
के साथ गलत समझा जाएगा तो 'self.inventory.itemsArray' चयनकर्ताओं या jQuery ऑब्जेक्ट्स की एक सरणी है? – elclanrs
आईडी द्वारा आपके सरणी को इंडेक्स क्यों नहीं करें? उन्हें सिर्फ 'self self.inventory' करने की आवश्यकता है।आइटमअरे [आईडी] 'और पूरी तरह से लूप से बचें। –