2010-09-11 20 views
7

मैं नीचे के रूप में एक सरणी है,:मैं jQuery का उपयोग कर सरणी के सरणी में सरणी कैसे जोड़ सकता हूं?

var test = ['4','Stackoverflow','stackoverflow.com'] 

मैं का उपयोग कर की कोशिश की है:

var newArray = $.merge(cString, test); 

var cString = [ 
      ['1','Techdirt','www.techdirt.com'], 
      ['2','Slashdot','slashdot.org'], 
      ['3','Wired','wired.com'] 
      ]; 

इस सरणी के लिए मैं एक ही प्रारूप में एक और जोड़ना चाहते हैं लेकिन console.log(newArray); आउटपुट:

[►Array,►Array,►Array,'4','Stackoverflow','stackoverflow.com'] 

तो मैं मान रहा हूं कि मुझे कुछ स्पष्ट याद आ रही है। या बेवकूफ कुछ कोशिश कर रहा है ... मदद?

उत्तर

12

इसके लिए jQuery की आवश्यकता नहीं है। मुख्य सरणी में जोड़ने के लिए बस the Array's .push() method का उपयोग करें।

var test = ['4','Stackoverflow','stackoverflow.com'] 

cString.push(test); 

क्या $.merge() करता है यह आप पहली बार में एक के बाद यह और प्रतियां अपने आइटम एक उत्तीर्ण दूसरी सरणी के माध्यम से चलता है है।


संपादित करें:

आप मूल सरणी संशोधित करने के लिए नहीं करना चाहता था, तो आपको पहले इसकी एक प्रति बना सकते हैं, और .push() कॉपी में नई सरणी।

var cString = [ 
      ['1','Techdirt','www.techdirt.com'], 
      ['2','Slashdot','slashdot.org'], 
      ['3','Wired','wired.com'] 
      ]; 

var test = ['4','Stackoverflow','stackoverflow.com'] 

var newArray = cString.slice(); 

newArray.push(test); 
+1

Uhm, 'console.log (newArray)' अब रिटर्न '4' =/ –

+0

@ दाऊद - आप इस बारे में सुनिश्चित? http://jsfiddle.net/XLVxw/1/ '4' उपयुक्त ऐरे' लंबाई' संपत्ति मान होगा। – user113716

+2

@ डेविड - ओह, मैं देख रहा हूं कि आप क्या कर रहे हैं। '.push()' विधि मूल सरणी को संशोधित करती है, और नई लंबाई देता है। यही कारण है कि आपका 'newArray' चर' 4' दिखाता है। – user113716

1

push के अलावा पैट्रिक वर्णन करते हैं, तो आप पुराने को बदलने के बजाय एक नई सूची बनाना चाहते हैं, तो आप Array#concat के साथ एक साथ सरणियों जोड़ सकते हैं:

var newArray= cString.concat([['4','Stackoverflow','stackoverflow.com']]); 
+2

अगर मैं गलत हूं तो मुझे सही करें, लेकिन मुझे लगता है कि ओपी को उसी परिणाम मिलेगा जो '$ .merge' दे रहा था। मुझे लगता है कि आपको 'cString.concat ([[' 4 ',' Stackoverflow ',' stackoverflow.com ']]] की बजाय आवश्यकता होगी। – user113716

+0

आप बिल्कुल सही हैं। फिंगरफेल पकड़ने के लिए धन्यवाद! – bobince

1

आप उपयोग कर सकते हैं विलय इस तरह समारोह

var newArray = $.merge($.merge([], cString), test); 
संबंधित मुद्दे