मैं जावास्क्रिप्ट में किसी सरणी को कैसे अनसेट कर सकता हूं? मैं सिर्फ इसे खाली करना चाहते हैं - तो यह यह कुंजी में कुछ भी नहीं है या कुछ भीजावास्क्रिप्ट अनसेट सरणी
उत्तर
है इसे करने के लिए एक खाली सरणी निरुपित
x = []
आप इसे करने के लिए एक नई सरणी प्रदान कर सकते हैं:
var array = ["element1","element2","element3"];
...
array = new Array();
या
array = [];
var array = ["elem", "item"];
...
array = []; // Empty!
array.length = 0
काम करना चाहिए।
हटाए जाने के बारे में क्या?
delete array
या एक भी सूचकांक को हटाने के लिए:
delete array[x]
-1 'हटाएं' काम नहीं करता है। सबूत: http://jsfiddle.net/k8nhe/ – Tadeck
@Tadeck बेशक हटाएं काम नहीं करता है, हटाएं 'DontDelete' विशेषता के बिना ऑब्जेक्ट गुणों के लिए है, न कि' var' या 'function' घोषणाएं जिनमें' DontDelete' नहीं है ' विशेषता। यदि आप सरणी को एक [implicit] (http://jsfiddle.net/ult_combo/k8nhe/1/) विंडो प्रॉपर्टी या एक [स्पष्ट] (http://jsfiddle.net/ult_combo/k8nhe/2/) बनाते हैं ** अधिकांश ** ब्राउज़रों में काम करेगा ('हटाएं 'कार्यान्वयन-निर्भर है)। [हटाने के बारे में अधिक जानकारी] (http://perfectionkills.com/understanding-delete/#property_attributes)। (लेकिन निश्चित रूप से, यह सरणी घोषित करने का एक आदर्श तरीका नहीं है) –
सरणी के लिए काम नहीं कर रहा है। परिवर्तनीय के लिए इसका एकमात्र काम है। –
(मैं अपने पुराने जानते हैं और जवाब)
आप सरणी खाली करने के लिए चाहते हैं, तो यह रहा है कि answered पहले से ही। आप सेट नहीं सरणी चाहते हैं, आप एक को सेट किए बिना चर आवंटित कर सकते हैं ...
var undef;
var myArr = [];
...
myArr = undef;
// typeof myArr == undefined
कि मेरे लिए काम किया ,,, –
इस कोड को एक नया खाली सरणी के लिए चर "सरणी" सेट हो जाएगा। यह सही है अगर आपके पास मूल सरणी "सरणी" के संदर्भ कहीं और नहीं हैं क्योंकि यह वास्तव में एक ब्रांड नई (खाली) सरणी बनाता है। आपको इस विधि से सावधान रहना चाहिए क्योंकि यदि आपने इस सरणी को किसी अन्य चर या संपत्ति से संदर्भित किया है, तो मूल सरणी अपरिवर्तित रहेगी। आप इसके बजाय array.length = 0 का उपयोग कर सकते हैं। – amilaishere