Πώς να μετατρέψετε μια συμβολοσειρά που διαχωρίζεται με κόμμα σε πίνακα;

Έχω μια συμβολοσειρά που χωρίζεται με κόμμα και θέλω να τη μετατρέψω σε πίνακα, ώστε να μπορώ να τη διατρέξω με βρόχο.

Υπάρχει κάτι ενσωματωμένο για να το κάνω αυτό;

Για παράδειγμα, έχω αυτό το αλφαριθμητικό

var str = "January,February,March,April,May,June,July,August,September,October,November,December";

τώρα θέλω να το χωρίσω με το κόμμα και στη συνέχεια να το αποθηκεύσω σε έναν πίνακα.

Λύση
var array = string.split(',');

MDN reference, κυρίως χρήσιμη για την πιθανώς απροσδόκητη συμπεριφορά της παραμέτρου limit. (Συμβουλή: "a,b,c".split(",", 2) βγαίνει ["a", "b"], όχι ["a", "b,c"]).

Σχόλια (7)

Προσέξτε αν στοχεύετε σε ακέραιους αριθμούς, όπως 1,2,3,4,5. Αν σκοπεύετε να χρησιμοποιήσετε τα στοιχεία του πίνακα σας ως ακέραιους αριθμούς και όχι ως συμβολοσειρές μετά τη διάσπαση της συμβολοσειράς, σκεφτείτε να τα μετατρέψετε σε τέτοιους.

var str = "1,2,3,4,5,6";
var temp = new Array();
// this will return an array with strings "1", "2", etc.
temp = str.split(",");

προσθέτοντας έναν βρόχο όπως αυτός

for (a in temp ) {
    temp[a] = parseInt(temp[a], 10); // Explicitly include base as per Álvaro's comment
}

θα επιστρέψει έναν πίνακα που θα περιέχει ακέραιους αριθμούς και όχι συμβολοσειρές.

Σχόλια (9)

Η μέθοδος split() χρησιμοποιείται για το διαχωρισμό μιας συμβολοσειράς σε έναν πίνακα υποσυμβολοσειρών και επιστρέφει το νέο πίνακα.

var array = string.split(',');
Σχόλια (3)