के साथ जावास्क्रिप्ट में बड़े तारों की तुलना करना मेरे पास एक टेक्स्टरीए वाला एक फॉर्म है जिसमें बड़ी मात्रा में सामग्री (कहें, ब्लॉग के लिए लेख) शामिल हो सकते हैं, जिसमें कई तृतीय पक्ष समृद्ध टेक्स्ट एडिटर्स का उपयोग करके संपादित किया जा सकता है। मैं एक ऑटोसव सुविधा की तरह कुछ लागू करने की कोशिश कर रहा हूं, जो बदल गया है तो AJAX के माध्यम से सामग्री जमा करनी चाहिए। हालांकि, मुझे इस तथ्य के आसपास काम करना है कि मेरे पास कुछ संपादकों के विकल्प हैं जो "गंदे" ध्वज का समर्थन नहीं करते हैं, या एक "बदले" कार्यक्रम का उपयोग नहीं करते हैं, जिसका उपयोग मैं यह देखने के लिए कर सकता हूं कि अंतिम सहेजने के बाद सामग्री बदल गई है या नहीं।हैश
तो, एक कामकाज के रूप में, मैं जो करना चाहता हूं वह सामग्री को एक चर में रखता है (चलो इसे आखिरी सहेजने के लिए आखिरी बचाएं), और वर्तमान पाठ के साथ इसकी तुलना करें जब " ऑटोसेव "फ़ंक्शन आग (टाइमर पर) यह देखने के लिए कि यह अलग है या नहीं। हालांकि, मुझे चिंता है कि कितनी मेमोरी बहुत बड़ी दस्तावेजों के साथ हो सकती है।
क्या यह पूरे स्ट्रिंग के बजाय, अंतिम SaveContent चर में किसी प्रकार का हैश स्टोर करने के लिए और अधिक कुशल होगा, और उसके बाद हैश मानों की तुलना करें? यदि हां, तो क्या आप एक अच्छी जावास्क्रिप्ट लाइब्रेरी/jquery प्लगइन की अनुशंसा कर सकते हैं जो इस आवश्यकता के लिए उपयुक्त हैश लागू करता है?
यह शायद आपके उपयोग के मामले में लगभग कभी नहीं होगा, लेकिन यहां पर रहने वाले अनौपचारिक पाठक के लिए जो जावास्क्रिप्ट और हैशिंग (मेरे जैसे) की तलाश में भूमि पर होता है, यह ध्यान देने योग्य हो सकता है कि दो हैश मानों की तुलना करना * नहीं * दो तारों की तुलना करने के समान, हैश (और इच्छा) टकरा सकता है, वह है .. दो अलग-अलग तारों के लिए एक ही हैश। इसलिए यदि आप वही हैश मान प्राप्त करते हैं तो कई उपयोग मामलों में आपको पूर्ण तुलना करना चाहिए। –
अच्छा बिंदु। इसके अतिरिक्त, यदि वे पाठक सोच रहे हैं, तो हैशटेबल ऑब्जेक्ट्स, जैसे कि कई संग्रह API में पाए गए कारण, अभी भी इसके बावजूद काम करते हैं क्योंकि उनमें इन टकरावों को संभालने की कार्यक्षमता होती है जब दो कुंजियां एक ही हैश उत्पन्न करती हैं। – user4815162342