Junior
Ποια είναι η διαφορά μεταξύ των μεθόδων filter και find στη JavaScript;
sobes.tech AI
Απάντηση από AI
filter(): Επιστρέφει καινούργιο πίνακα που περιέχει όλα τα στοιχεία του αρχικού πίνακα για τα οποία η συνάρτηση επιστροφής (callback) επέστρεψε αληθές. Αν κανένα στοιχείο δεν ικανοποιεί την προϋπόθεση, επιστρέφεται κενός πίνακας.find(): Επιστρέφει το πρώτο στοιχείο του αρχικού πίνακα για το οποίο η συνάρτηση επιστροφής επέστρεψε αληθές. Αν κανένα στοιχείο δεν ικανοποιεί την προϋπόθεση, επιστρέφεταιundefined.
| Μέθοδος | Τιμή επιστροφής | Αριθμός στοιχείων στο αποτέλεσμα |
|---|---|---|
filter() |
Νέος πίνακας (ακόμα και αν είναι κενός) | Μηδέν, ένα ή περισσότερα |
find() |
Τιμή του πρώτου βρεθέντος στοιχείου ή undefined |
Μηδέν (αν δεν βρεθεί) ή ένα |
Παράδειγμα filter:
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers θα είναι [2, 4, 6]
Παράδειγμα find:
const users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Alice' }
];
const firstAlice = users.find(user => user.name === 'Alice');
// firstAlice θα είναι { id: 1, name: 'Alice' }