के लिए Chrome में काम नहीं कर रहा है मुझे कुछ जावास्क्रिप्ट कोड मिला है और मैं वास्तव में जावास्क्रिप्ट विशेषज्ञ नहीं हूं।hasOwnProperty() सरणी
हमारे पास एक ऑब्जेक्ट है जो buckets
नामक हैंश और मानों के संग्रह की तरह कार्य करता है। इसमें गुण हैं जो हैश मान हैं और प्रत्येक संपत्ति एक वस्तु है। यहां बताया गया है कि वह ब्राउज़र की डीबगर में की तरह लग रहा है:
हम एक containsKey()
समारोह hasOwnProperty()
का उपयोग करता है में बाल्टी वस्तु एक हैश के होने की जाँच करने के लिए है।
containsKey: function(key) {
var hash = this.comparer.getObjectHashCode(key);
if (!this.buckets.hasOwnProperty(hash))
return false;
var array = this.buckets[hash];
for (var i = 0; i < array.length; i++) {
if (this.comparer.areEqual(array[i].key, key))
return true;
}
return false;
}
यह कोड कम से कम 3 वर्षों तक बेकार ढंग से काम करता है। पिछले हफ्ते या दो में यह क्रोम में काम करना बंद कर दिया। अभी भी आईई में ठीक काम करता है (एफएफ के बारे में निश्चित नहीं है)।
ऐसा लगता है कि इसे काम करना जारी रखना चाहिए। मैंने सत्यापित किया है कि buckets
में हैश संपत्ति की खोज की जा रही है। लेकिन hasOwnProperty()
अब झूठी वापसी कर रहा है।
क्या यहां कोई और उचित कार्य है जिसका उपयोग मुझे करना चाहिए?
यहाँ जहां यह डिबगर में असफल रहा है:
यह किस तरह से काम नहीं करता है? क्या कंसोल में त्रुटियों की सूचना दी गई है? आप कैसे जानते हैं कि समस्या यह है कि '.hasOwnProperty() 'कैसे काम करता है? – Pointy
कृपया कोड जोड़ें, यहां या jsfiddle ... –
जैसा कि मैंने इस सवाल में लिखा था: "मैंने सत्यापित किया है कि बाल्टी में हैश संपत्ति की खोज की जा रही है। लेकिन 'हैऑनप्रोपर्टी()' अब झूठी लौट रही है।" इस तरह मैं जानता हूं कि समस्या 'हैऑनप्रोपर्टी() 'के साथ है। मुझे कौन सा कोड जोड़ना चाहिए?यह प्रासंगिक कार्य है। संपूर्ण कोड बेस 53 के लाइनों है। – Pete