javascript - जावास्क्रिप्ट में हैश से कुंजी+मान को कैसे निकालें
दिया हुआ
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key2'] = { Name: 'Object 2' };
myHash['key3'] = { Name: 'Object 3' };
मैं key2
कैसे हटा सकता key2
, और हैश से object 2
, ताकि यह एक राज्य में समाप्त हो जैसे मैंने किया:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key3'] = { Name: 'Object 3' };
हटाना जो मैं चाहता हूं वह नहीं करता;
delete myHash['key2']
बस मुझे यह देता है:
var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myhash['key2'] = null;
myHash['key3'] = { Name: 'Object 3' };
एकमात्र दस्तावेज़ जो मैं पूर्णांक इंडेक्सर्स के साथ splice
और slice
डील पर पा सकता हूं, जो मेरे पास नहीं है।
संपादित करें: मुझे यह भी नहीं पता कि 'key2' स्थिति में आवश्यक है [1]
अद्यतन करें
ठीक है थोड़ा लाल हेरिंग, डिलीट ऐसा लगता है जो मैं सतह पर चाहता हूं, हालांकि, मैं json2.js का उपयोग कर रहा हूं ताकि सर्वर पर वापस धक्का देने के लिए मेरी ऑब्जेक्ट जेसन को स्ट्रिंग कर सके,
मेरे द्वारा हटाए जाने के बाद, myHash को क्रमबद्ध किया जाता है:
[ { Name: 'Object 1' }, null, { Name: 'Object 3' } ]
क्या यह json2.js में एक बग है? या यह कुछ है जो मैं हटाने के साथ गलत कर रहा हूँ?
धन्यवाद
आप new Array();
उपयोग क्यों करते हैं new Array();
हैश के लिए? आपको इसके बजाय new Object()
का उपयोग करने की आवश्यकता है।
और मुझे लगता है कि आप जो चाहते हैं उसे प्राप्त करेंगे।
एक और विकल्प यह जॉन रेजिग हटाने विधि हो सकता है। आपको जो चाहिए वह बेहतर फिट हो सकता है। यदि आप सरणी में सूचकांक जानते हैं।