Sobes.tech
Junior

Kāda ir atšķirība starp filter un find metodēm JavaScript?

sobes.tech AI

Atbilde no AI

  • filter(): Atgriež jaunu masīvu, kas satur visus sākotnējā masīva elementus, kuriem atgrieztā atpakaļzvana funkcija ir atgriezusi patiesu vērtību. Ja neviens elements neatbilst nosacījumam, tiek atgriezts tukšs masīvs.
  • find(): Atgriež pirmo elementu no sākotnējā masīva, kam atgrieztā atpakaļzvana funkcija ir atgriezusi patiesu vērtību. Ja neviens elements neatbilst nosacījumam, tiek atgriezts undefined.
Metode Atgrieztā vērtība Rezultāta elementu skaits
filter() Jauns masīvs (pat ja tas ir tukšs) Nulle, viens vai vairāki
find() Atrodamā pirmā elementa vērtība vai undefined Nulle (ja nav atrasts) vai viens

filter piemērs:

const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers būs [2, 4, 6]

find piemērs:

const users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 3, name: 'Alice' }
];
const firstAlice = users.find(user => user.name === 'Alice');
// firstAlice būs { id: 1, name: 'Alice' }