Περισσότερα
Πώς μπορώ να ελέγξω αν ένας πίνακας περιέχει μια συμβολοσειρά στην TypeScript;
Προς το παρόν χρησιμοποιώ το Angular 2.0. Έχω έναν πίνακα ως εξής:
var channelArray: Array<string> = ['one', 'two', 'three'];
Πώς μπορώ να ελέγξω στο TypeScript αν η συστοιχία channelArray περιέχει μια συμβολοσειρά 'three';;
209
3
Το ίδιο όπως στη JavaScript, χρησιμοποιώντας Array.prototype.indexOf():
Ή χρησιμοποιώντας την ECMAScript 2016 Array.prototype.includes():
Σημειώστε ότι θα μπορούσατε επίσης να χρησιμοποιήσετε μεθόδους όπως αυτές που έδειξε ο @Nitzan για να βρείτε μια συμβολοσειρά. Ωστόσο, συνήθως δεν θα το κάνατε αυτό για έναν πίνακα συμβολοσειρών, αλλά μάλλον για έναν πίνακα αντικειμένων. Εκεί αυτές οι μέθοδοι ήταν πιο λογικές. Για παράδειγμα
Αναφορά
Array.find()
Array.some()
Array.filter()
Μπορείτε να χρησιμοποιήσετε την κάποια μέθοδο:
Μπορείτε να χρησιμοποιήσετε τη μέθοδο find:
Ή μπορείτε να χρησιμοποιήσετε τη μέθοδο indexOf:
Αν ο κώδικάς σας βασίζεται στο ES7:
Αν όχι, για παράδειγμα χρησιμοποιείτε τον IE χωρίς babel transpile:
η μέθοδος
indexOf
θα επιστρέψει τη θέση που έχει το στοιχείο στον πίνακα, εξαιτίας αυτού χρησιμοποιούμε!==
διαφορετικό από το -1 αν η βελόνα βρίσκεται στην πρώτη θέση.