Sobes.tech
Senior

რომელი მასივის მეთოდები იცვლიან მასივს და რომელი არა?

sobes.tech AI

პასუხი AI-სგან

JavaScript-ში მასივების მეთოდები იყოფა მუტაციურ და მუტაციურ არ მეთოდებად.

მუტაციური მეთოდები იცვლიან ორიგინალურ მასივს:

  • push() — დამატება ელემენტებს მასივის ბოლოში
  • pop() — ამოღება ბოლო ელემენტი
  • shift() — ამოღება პირველი ელემენტი
  • unshift() — დამატება ელემენტებს მასივის დასაწყისში
  • splice() — დამატება, ამოღება ან შეცვლა ელემენტების
  • sort() — მასივის სორტირება
  • reverse() — ელემენტების წესის შეცვლა

მუტაციურ არ მეთოდები აბრუნებს ახალ მასივს ან მნიშვნელობას, არ იცვლის ორიგინალს:

  • map() — ქმნის ახალ მასივს ფუნქციის გამოძახების შედეგებით თითოეულ ელემენტზე
  • filter() — ქმნის ახალ მასივს ელემენტებით, რომლებიც გადიან ტესტს
  • slice() — აბრუნებს მასივის ნაწილის კოპიას
  • concat() — აერთიანებს მასივებს და აბრუნებს ახალს
  • reduce() — ამცირებს მასივს ერთ მნიშვნელობად
  • indexOf(), includes() — აბრუნებს ინდექსს ან ბულიან მნიშვნელობას

მაგალითი:

const arr = [1, 2, 3];
arr.push(4); // arr ახლა [1, 2, 3, 4]
const newArr = arr.map(x => x * 2); // newArr [2, 4, 6, 8], arr არ შეცვლილა