Συνάρτηση που συγχωνεύει πίνακες σε έναν σε JavaScript
Ας υλοποιήσουμε τώρα μια συνάρτηση merge
που δέχεται ως παραμέτρους αυθαίρετο αριθμό
πινάκων και συγχωνεύει τα στοιχεία τους σε έναν μόνο πίνακα.
Ακολουθεί ένα παράδειγμα λειτουργίας της συνάρτησής μας:
javascriptlet result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // θα εμφανίσει [1, 2, 3, 4, 5, 6, 7, 8, 9]
Ας προχωρήσουμε στην υλοποίηση. Ας λάβουμε αρχικά τους πίνακες που περνώνται ως παράμετροι σε μορφή ενός δισδιάστατου πίνακα:
javascriptmerge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
function merge(...arrs){
console.log(arrs); // θα εμφανίσει [ [1, 2, 3,] [4, 5, 6], [7, 8, 9] ]
}
Ας συγχωνεύσουμε τώρα αυτόν τον δισδιάστατο πίνακα
σε έναν μονοδιάστατο. Θα χρησιμοποιήσουμε για αυτό τη μέθοδο
concat και τον τελεστή spread:
javascriptlet arrs = [ [1, 2, 3,], [4, 5, 6], [7, 8, 9] ];
let result = [].concat(...arrs);
console.log(result); // θα εμφανίσει [1, 2, 3, 4, 5, 6, 7, 8, 9]
Ας προσθέσουμε αυτόν τον κώδικα στη συνάρτησή μας merge:
javascriptfunction merge(...arrs) {
return [].concat(...arrs);
}
let result = merge([1, 2, 3], [4, 5, 6], [7, 8, 9]);
console.log(result); // θα εμφανίσει [1, 2, 3, 4, 5, 6, 7, 8, 9]
Όπως βλέπετε, αυτή η συνάρτηση αποδείχθηκε επίσης πολύ συνοπτική.