जावास्क्रिप्ट में दो सरणी कैसे जोड़ें?

मेरे पास दो सरणी हैं:

a = ['a','b','c']

b = ['x','y','z']

मैं सरणी प्राप्त करने की कोशिश कर रहा हूं:

[['a','b','c'],['x','y','z']]

मैंने array.push का उपयोग किया है लेकिन मुझे यह पसंद हो रहा है:

['a','b','c','x','y','z']

क्या मुझे पता चलेगा कि इसे कैसे हल किया जाए?

0
जोड़ा संपादित
विचारों: 1
इसके बारे में: arr = [a, b]
जोड़ा लेखक elclanrs, स्रोत

4 उत्तर

आप विशेष रूप से एक नए सरणी कन्स्ट्रक्टर को दोनों चरों में गुजरकर या [] शॉर्टेंड का उपयोग करके नई सरणी बना सकते हैं:

var newArr = [ a, b ];
3
जोड़ा

एक चर परिभाषित करें, सी और इसे एक सरणी के रूप में सेट करें और इसमें ए और बी दोनों दबाएं। यह वही करेगा जो आप उम्मीद कर रहे हैं।

var a = ['a','b','c'];
var b = ['x','y','z'];

var c=[];
c.push(a);
c.push(b);

Here's a working fiddle (Open up the console in chrome [F12]). http://jsfiddle.net/28MnN/

1
जोड़ा
तो दूसरों को ...
जोड़ा लेखक BenM, स्रोत
सच नहीं। प्रारंभ में सरणी को परिभाषित करने के बाद, आप आसानी से ar.rpush() को कॉल कर सकते हैं ...
जोड़ा लेखक BenM, स्रोत
समाधान के लिए +1 जो सरणी की एक चर संख्या के साथ काम करता है।
जोड़ा लेखक Tibos, स्रोत
@ बेनेम दूसरा समाधान केवल तभी काम करता है जब आप अपने इच्छित सरणी की संख्या जानते हों। यदि आपके पास मानचित्र में मान के रूप में आपके प्रारंभिक सरणी हैं, तो यह काम नहीं करता है: के लिए (मानचित्र में var कुंजी) {c.push (map [key]); }
जोड़ा लेखक Tibos, स्रोत
var twodArray=[['a','b','c'],['x','y','z'] ];

or var twodArray=[a,b];
0
जोड़ा
हाँ मैं भूल गया था..मैंने अभी संपादित किया
जोड़ा लेखक uhs, स्रोत
2dArray एक अवैध चर नाम है। परिवर्तनीय नाम एक अंक से शुरू नहीं हो सकते हैं।
जोड़ा लेखक Felix Kling, स्रोत

मैंने c नामक एक तीसरा चर जोड़ा है जो एक ही सरणी को a के रूप में संदर्भित करता है:

var a = ['a', 'b', 'c'];
var b = ['x', 'y', 'z'];
var c = a;//a === c

समाधान के बाद अच्छा काम करता है, हालांकि, a और b विलय करने के बाद, a पर कोई भी परिवर्तन c </कोड> अब, क्योंकि a और c विभिन्न ऑब्जेक्ट्स का संदर्भ लेंगे:

a = [a, b];//a !== c
a.push('something');
console.log(a);//[["a", "b", "c"], ["x", "y", "z"], "something"]
console.log(c);//["a", "b", "c"]

यह दूसरा समाधान ऊपर की स्थिति से बचने की अनुमति देता है:

a.push(a.splice(0), b);//a === c
a.push('something');
console.log(a);//[["a", "b", "c"], ["x", "y", "z"], "something"]
console.log(c);//[["a", "b", "c"], ["x", "y", "z"], "something"]
0
जोड़ा