Sobes.tech
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' }