Η μέθοδος JavaScript Array concat () επιστρέφει έναν νέο πίνακα συγχωνεύοντας δύο ή περισσότερες τιμές / πίνακες.
Η σύνταξη της concat()
μεθόδου είναι:
arr.concat(value1, value2,… , valueN)
Εδώ, arr
είναι ένας πίνακας.
concat () Παράμετροι
Η concat()
μέθοδος λαμβάνει έναν αυθαίρετο αριθμό συστοιχιών ή / και τιμών ως ορίσματα.
Τιμή επιστροφής από το concat ()
- Επιστρέφει έναν πίνακα που δημιουργήθηκε πρόσφατα μετά τη συγχώνευση όλων των συστοιχιών / τιμών που έχουν περάσει στο όρισμα.
Η concat()
μέθοδος δημιουργεί πρώτα έναν νέο πίνακα με τα στοιχεία του αντικειμένου στο οποίο καλείται η μέθοδος. Στη συνέχεια προσθέτει διαδοχικά επιχειρήματα ή τα στοιχεία των επιχειρημάτων (για πίνακες).
Παράδειγμα 1: Χρήση της μεθόδου concat ()
var languages1 = ("JavaScript", "Python", "Java"); var languages2 = ("C", "C++"); // concatenating two arrays var new_arr = languages1.concat(languages2); console.log(new_arr); // ( 'JavaScript', 'Python', 'Java', 'C', 'C++' ) // concatenating a value and array var new_arr1 = languages2.concat("Lua", languages1); console.log(new_arr1); // ( 'C', 'C++', 'Lua', 'JavaScript', 'Python', 'Java' )
Παραγωγή
("JavaScript", "Python", "Java", "C", "C ++") ("C", "C ++", "Lua", "JavaScript", "Python", "Java")
Παράδειγμα 2: Συνδυασμένοι ένθετοι πίνακες
Η concat()
μέθοδος επιστρέφει το ρηχό αντίγραφο των συνδυασμένων στοιχείων με τον ακόλουθο τρόπο:
- Αντιγράφει αναφορές αντικειμένων στον νέο πίνακα. ( Για παράδειγμα : περνώντας έναν ένθετο πίνακα) Επομένως, εάν τροποποιηθεί το αντικείμενο αναφοράς, οι αλλαγές είναι ορατές στον νέο πίνακα που επέστρεψε.
- Αντιγράφει την τιμή των συμβολοσειρών και των αριθμών στο νέο πίνακα.
var randomList = (1, 2, 3); var randomNestedList = ( (4, 5), (6, 7), ); var combined = randomList.concat(randomNestedList); console.log(combined); // ( 1, 2, 3, ( 4, 5 ), ( 6, 7 ) ) // changing the value 1 to 0 randomList(0) = 0; console.log(randomList); // ( 0, 2, 3 ) // changes not reflected in concatenated array console.log(combined); // ( 1, 2, 3, ( 4, 5 ), ( 6, 7 ) ) // modifying nested list (adding 6 to first element) randomNestedList(0).push(6); console.log(randomNestedList); // ( ( 4, 5, 6 ), ( 6, 7 ) ) // changes are reflected in concatenated array // since it is a reference to the object console.log(combined); // ( 1, 2, 3, ( 4, 5, 6 ), ( 6, 7 ) )
Παραγωγή
(1, 2, 3, (4, 5), (6, 7)) (0, 2, 3) (1, 2, 3, (4, 5), (6, 7)) ((1, 2 , 3), (6, 7)) (1, 2, 3, (4, 5, 6), (6, 7))
Εδώ, η αναφορά του ένθετου πίνακα αντιγράφεται στον συνδυασμένο πίνακα. Έτσι, όταν τροποποιούμε οποιαδήποτε από τις αναφορές, οι αλλαγές αντικατοπτρίζονται παντού.
Προτεινόμενες αναγνώσεις:
- JavaScript Array.pop ()
- JavaScript Array.push ()