का उपयोग कर जावास्क्रिप्ट गहरी प्रतिलिपि मुझे जावास्क्रिप्ट ऑब्जेक्ट (सरणी) गहरी प्रतिलिपि में समस्या है। मैंने इससे निपटने के लिए कई अच्छे तरीके पढ़े। और मुझे यह भी पता है कि jQuery के पास इस समस्या के लिए $ .extend API है। लेकिन मेरा सवाल यह है: क्या मैं इस समस्या को हल करने के लिए JSON स्ट्रिंग और पार्स विधि का उपयोग कर सकता हूं?JSON
function deepCopy(oldValue) {
var newValue
strValue = JSON.stringify(oldValue)
return newValue = JSON.parse(strValue)
}
var a = {
b: 'b',
c: [1,2,4],
d: null
}
copy = deepCopy(a)
console.log(a === copy) // false
console.log(a.c === copy.c) // false
पुनश्च::
यहाँ मेरी कोड है मैं जानता हूं केवल स्थिति मैं जानता हूँ कि अगर कोई सभी वस्तुओं serializable कर रहे हैं, लेकिन यह है कि यह है कि जब वस्तु एक संपत्ति समारोह है जो शामिल हैं। कोई अन्य स्थिति?
मेरी खराब अंग्रेजी को क्षमा करें, और यह अच्छा है अगर आप इसे इंगित कर सकते हैं।
सभी ऑब्जेक्ट JSON के रूप में क्रमबद्ध नहीं हैं। यहां तक कि जो भी हैं, वे उन्हें एक स्ट्रिंग में बदलने के लिए अक्षम हैं और फिर स्ट्रिंग को पार्स करते हैं। लेकिन यह ठीक काम करना चाहिए। केवल समस्या आईई के पुराने संस्करण हैं जहां आपको पॉलीफिल की आवश्यकता है। –
यहां जांचें http://msdn.microsoft.com/en-us/library/ie/cc836466(v=vs.94).aspx – anand4tech
धन्यवाद! मुझे केवल एक वस्तु पता है कि इस ऑब्जेक्ट में ऐसी कोई संपत्ति नहीं है जो एक फ़ंक्शन है। लेकिन अगर दूसरी स्थिति है कि वस्तु क्रमबद्ध नहीं है? – user2666750