इसलिए हमारे पास एक मामला था जहां हमारे पास एक वस्तु होगी, जहां कुंजी आईडी (इंट) है और मान स्ट्रिंग है। लेकिन हमने देखा कि ज्यादातर बार, हम स्ट्रिंग के आधार पर आईडी देखते हैं, इसलिए हमने इसे उल्टा करने का फैसला किया और स्ट्रिंग को कुंजी बना दिया और मान आईडी है। क्योंकि उस तरह से प्रत्येक आइटम के माध्यम से जाने और मूल्यों की तुलना करने के बजाय, हम बस कर सकते थे var id = storage[text];
। नीचे हमने जो किया उसके उदाहरण हैं।
यहाँ पुराने कार्यान्वयन का उदाहरण है:
var storage = {
0 : null,
1 : "Hello",
2 : "world!",
3 : "How are you?"
}
यहाँ नए कार्यान्वयन का उदाहरण है:
var storage = {
"null" : 0,
"Hello" : 1,
"world!" : 2,
"How are you?" : 3
}
मैं समझता हूं कि अब स्ट्रिंग की कुंजी है और समान स्ट्रिंग्स के लिए एक ही आईडी प्राप्त करना ठीक है। लेकिन चूंकि अब स्ट्रिंग संभावित रूप से बहुत बड़ा हो सकता है (पतला मौका, लेकिन शायद अधिकतम 1KB प्रति स्ट्रिंग), क्या जेएस या एंड्रॉइड वेबव्यू ऑब्जेक्ट कीज़ पर लंबाई सीमा है?
और भी, क्या इस कार्यान्वयन में नुकसान हैं? मैंने अब तक किसी भी मुद्दे पर ध्यान नहीं दिया है, लेकिन आप कभी नहीं जानते।