JavaScript array assign issue -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 4 जवाब

मैंने अभी दो सरणियों को बनाया है और सरणी में से किसी एक को एक महत्वपूर्ण मूल्य जोड़ी को असाइन किया गया। फिर मैंने सौंपा या अन्य को एक सरणी को कॉपी किया। इसके बाद मैंने दूसरे सरणी को दूसरी कुंजी जोड़ दिया, लेकिन यह मूल सरणी को भी दर्शाता है। उदाहरण के लिए।

  var array1 = []; Var सरणी 2 = []; Array1.value1 = '1'; Array2 = array1; Array2.value2 = '2'; console.log (array1); // यह प्रिंट {value1: 1, value2: 2}  

सरणी 1 ऑब्जेक्ट को बदलता है, जबकि मैंने array2 के लिए एक महत्वपूर्ण वैल्यू जोड़ी को जोड़ा?

जब आप array2 = array1; जैसा कुछ करते हैं, तो आप बस array2 को एक संदर्भ के रूप में सेट कर रहे हैं array1 से सरणी 1 की एक प्रति बनाने के लिए आपको array2 = array1.slice ();

करने की आवश्यकता है, इसके साथ ही, आप array1.value1 = '1' ; । आपने जो कुछ किया है, वह अपने सरणी को किसी एक को बदलता है। तो आपको वास्तव में क्या करना चाहिए:

  var array1 = []; Var सरणी 2 = []; सरणी 1 [0] = 1; Array2 = array1.slice (); सरणी 2 [1] = 2;  

Comments

Popular posts from this blog

HTML/CSS - Automatically set height width from background image? -

php - Mysql Show Process - Sleep Commands and what to do -

c - What is the address of buf (the local variable in the main function)? -