मैं एक सरणी की तरह उद्देश्य यह है कि एक सरणी वस्तु के रूप में घोषित किया गया था और पाया stringify करने की कोशिश कर रहा था JSON.stringify सही ढंग से प्रसंस्करण नहीं किया गया था कि सरणी जैसी वस्तु है जब यह एक के रूप में परिभाषित किया गया है सरणी वस्तु।जावास्क्रिप्ट सरणी वस्तु वस्तुओं की तरह सरणी बनाम - स्पष्टीकरण
अधिक स्पष्टता के लिए नीचे देखें, ->jsFiddle
var simpleArray = []; //note that it is defined as Array Object
alert(typeof simpleArray); // returns object -> Array Object
simpleArray ['test1'] = 'test 1';
simpleArray ['test2'] = 'test 2';
alert(JSON.stringify(simpleArray)); //returns []
यह ठीक काम किया है और मुझे {"test1":"test 1","test2":"test 2"}
लौटे जब मैं var simpleArray = {};
को
var simpleArray = [];
बदल दिया है।
क्या कोई कुछ प्रकाश या कुछ संदर्भ छोड़ सकता है जहां मैं और पढ़ सकता हूं?
संपादित करें:
प्रश्न: जब typeof simpleArray = []
और simpleArray = {}
लौटे वस्तु, क्यों JSON.stringify दोनों ही मामलों में {"test1":"test 1","test2":"test 2"}
लौटने में सक्षम नहीं था?
मैं उस हिस्से को समझता हूं, जो मैं जानना चाहता था वह है कि JSON.stringify क्यों घोषित नहीं किया जा सकता है []। –
धन्यवाद! मैं उदाहरण के लिए देख रहा था। मैं टाइपफॉफ़ का उपयोग करने की कोशिश कर रहा था जो दोनों मामलों में ऑब्जेक्ट लौटा रहा था। –
ईएस 5 के बाद भी 'Array.isArray (...) '(15.4.3.2) है जो इसके विपरीत फ्रेम-सुरक्षित है। इसे नकल किया जा सकता है। – PointedEars