2012-11-21 22 views
5

संभव डुप्लिकेट JSON ऑब्जेक्ट में संपत्ति सम्मिलित करना:
Does JavaScript Guarantee Object Property Order?एक विशिष्ट स्थान पर

मुझे पता है कि मैं कैसे एक विशिष्ट स्थान पर एक JSON ऑब्जेक्ट संपत्ति सम्मिलित कर सकते हैं चाहते हैं?

var data = { 
    0: 'lorem', 
    1: 'dolor sit', 
    2: 'consectetuer' 
} 

मैं एक आईडी और एक स्ट्रिंग की तरह है:: के इस जावास्क्रिप्ट वस्तु मान लेते हैं, अब

var id = 6; 
var str = 'adipiscing'; 

मैं (उदाहरण के लिए) id0 के बीच और 1 सम्मिलित करना चाहते हैं और यह होना चाहिए की तरह:

data = { 
    0: 'lorem', 
    6: 'adipiscing', 
    1: 'dolor sit', 
    2: 'consectetuer' 
} 

मैं यह कैसे कर सकते हैं? क्या इसके लिए कोई jQuery समाधान है?

+0

मुझे नहीं लगता कि ईसीएमएस्क्रिप्ट स्पेक कहता है कि ऑब्जेक्ट गुणों को किसी ऑर्डर को रखना चाहिए। –

+0

आप नहीं कर सकते। जावास्क्रिप्ट के ऑब्जेक्ट गुणों में एक निर्धारिक क्रम नहीं है। –

+0

यदि आपको संख्यात्मक सूचकांक के निर्धारिक क्रम की आवश्यकता है, तो आपको इसके बजाय 'ऐरे' '[]' का उपयोग करना चाहिए। –

उत्तर

4

एक आदेश है, जिसमें एक वस्तु के तत्वों रखा जाता है निर्दिष्ट करने के लिए, तो आप इस तरह, वस्तुओं की एक सरणी का उपयोग करना होगा:

data = [ 
    {0: 'lorem'}, 
    {1: 'dolor sit'}, 
    {2: 'consectetuer'} 
] 

फिर आप एक तत्व एक निश्चित स्थिति में धक्का कर सकते हैं सरणी:

// Push {6: 'adipiscing'} to position 1 
data.splice(1, 0, {6: 'adipiscing'}) 

// Result: 
data = [ 
    {0: 'lorem'}, 
    {6: 'adipiscing'}, 
    {1: 'dolor sit'}, 
    {2: 'consectetuer'} 
] 
// Access it: 
data[0][0] //"lorem" 

हालांकि, इस सूचकांक आपने उल्लेख किया है ({0:) काफी बेकार प्रस्तुत करना होगा।

संबंधित मुद्दे