Φίλτρο Javascript Array ()

Η μέθοδος JavaScript Array filter () επιστρέφει έναν νέο πίνακα με όλα τα στοιχεία που περνούν το τεστ που καθορίζεται από τη δεδομένη συνάρτηση.

Η σύνταξη της filter()μεθόδου είναι:

 arr.filter(callback(element), thisArg)

Εδώ, arr είναι ένας πίνακας.

φίλτρο () Παράμετροι

Η filter()μέθοδος περιλαμβάνει:

  • callback - Η συνάρτηση δοκιμής για εκτέλεση σε κάθε στοιχείο πίνακα. επιστρέφει trueεάν το στοιχείο περάσει τη δοκιμή, αλλιώς false. Παίρνει:
    • element - Το τρέχον στοιχείο που περνά από τον πίνακα.
  • thisArg (προαιρετικό) - Η τιμή που χρησιμοποιείται thisκατά την εκτέλεση επιστροφής κλήσης. Από προεπιλογή, είναι undefined.

Τιμή επιστροφής από το φίλτρο ()

  • Επιστρέφει έναν νέο πίνακα με μόνο τα στοιχεία που πέρασαν το τεστ.

Σημειώσεις :

  • filter() δεν αλλάζει τον αρχικό πίνακα.
  • filter()δεν εκτελείται callbackγια στοιχεία πίνακα χωρίς τιμές.

Παράδειγμα 1: Φιλτράρισμα τιμών από το Array

 const prices = (1800, 2000, null, 3000, 5000, "Thousand", 500, 8000) function checkPrice(element) ( return element> 2000 && !Number.isNaN(element); ) let filteredPrices = prices.filter(checkPrice); console.log(filteredPrices); // ( 3000, 5000, 8000 ) // using arrow function let newPrices = prices.filter((price) => (price> 2000 && !Number.isNaN(price))); console.log(newPrices); // ( 3000, 5000, 8000 )

Παραγωγή

 (3000, 5000, 8000) (3000, 5000, 8000)

Εδώ, φιλτράρονται όλοι οι αριθμοί μικρότεροι ή ίσοι με το 2000 και όλες οι μη αριθμητικές τιμές.

Παράδειγμα 2: Αναζήτηση στο Array

 const languages = ("JavaScript", "Python", "Ruby", "C", "C++", "Swift", "PHP", "Java"); function searchFor(arr, query) ( function condition(element) ( return element.toLowerCase().indexOf(query.toLowerCase()) !== -1; ) return arr.filter(condition); ) let newArr = searchFor(languages, "ja"); console.log(newArr); // ( 'JavaScript', 'Java' ) // using arrow function const searchArr = (arr, query) => arr.filter(element => element.toLowerCase().indexOf(query.toLowerCase()) !== -1); let newLanguages = searchArr(languages, "p"); console.log(newLanguages); // ( 'JavaScript', 'Python', 'PHP' )

Παραγωγή

 ("JavaScript", "Java") ("JavaScript", "Python", "PHP")

Εδώ, το στοιχείο και το ερώτημα και τα δύο μετατρέπονται σε πεζά και η μέθοδος indexOf () χρησιμοποιείται για να ελέγξει αν το ερώτημα υπάρχει μέσα στο στοιχείο. Αυτά τα στοιχεία που δεν περνούν αυτήν τη δοκιμή φιλτράρονται.

Προτεινόμενη ανάγνωση: Χάρτης συστοιχίας JavaScript ()

ενδιαφέροντα άρθρα...