consdata.com
Blog techniczny Blog biznesowy Dział HR
EN
javascript

Czy wiesz czym .includes() różni się od .some()?

author Dorian Mejer
15 grudnia 2023

includes() pozwala nam sprawdzić, czy element Y znajduje się w tablicy, np.:

const zbior = [1,2,3,4,5,6,7];
const wynik = zbior.includes(3);
console.log(wynik); // true, 3 znajduje się w zbiorze liczb

includes() porównuje obiekty przez referencje, świetnie sprawdzi się w prostych typach, ale przy obiektach może nie zadziałać zgodnie z oczekiwaniem, np.:

const bogurodzica = {name: 'Bogurodzica'};
const songs = [bogurodzica, {name: 'Cicha noc'}, {name: 'Lulajże'}];
 
const wynik = songs.includes({name: 'Bogurodzica'});
console.log(wynik); // false, jest to inny obiekt
 
const wynikRef = songs.includes(bogurodzica);
console.log(wynikRef); // true

Rozwiązaniem tego problemu jest użycie funkcji some(fn). Iteruje ona po elementach i sprawdza warunek (fn) podany dla konkretnego elementu. Funkcja zwróci true, gdy dowolny element spełni warunek lub false, gdy żaden element nie pasuje do warunku, np.:

const songs = [{name: 'Bogurodzica'}, {name: 'Cicha noc'}, {name: 'Lulajże'}];
 
const wynik = songs.some((song) => song.name === 'Bogurodzica');
console.log(wynik); // true
 
const brak = songs.some((song) => song.name === 'Master of puppets');
console.log(brak); // false

Miłego przeszukiwania tablic!

Najnowsze wpisy

  • Dostępność w PDF - dokumenty bez barier
  • Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?
  • Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

newsletter

techniczny

Zapisz się

Podobne wpisy

post-image
WCAG

Dostępność w PDF - dokumenty bez barier

author
Kacper Hoffman 28 kwi 2025
post-image
angular

Czy wiesz, że z pomocą @starting-style można animować elementy z display: none za pomocą samego CSS?

author
Piotr Tatarski 7 kwi 2025
post-image
angular

Czy wiesz, że w Angular 17 została wprowadzona alternatywa dla *ngSwitch?

author
Dorian Mejer 10 mar 2025
Dołącz do nas

  • SENIOR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 14 900 - 20 590 PLN brutto
    B2B 19 680 - 27 220 PLN netto
  • REGULAR FULLSTACK DEVELOPER (JAVA + ANGULAR) Poznań (hybrydowo) lub zdalnie UoP 11 300 - 15 900 PLN brutto
    B2B 14 950 - 21 000 PLN netto
  • ZOBACZ WSZYSTKIE OGŁOSZENIA

Zapisz się na

newsletter

techniczny

consdata.com
  • Kontakt

    • sales@consdata.com
    • +48 61 41 51 000

  • Biuro

    • K9Office
      Krysiewicza 9/14
      61-825 Poznań
      Polska

  • Rozwiązania

    • Eximee
    • Kouncil
  • Blog Dołącz do nas
Copyright © 2024 Consdata. All rights reserved. Privacy Policy & Cookies
Chcemy używać plików cookie oraz skryptów podmiotów trzecich do polepszania funkcjonowania tej strony Zgadzam się