მეთოდი filter

მეთოდი filter საშუალებას აძლევს მასივის ელემენტები გაფილტროს, დატოვოს მხოლოდ ის ელემენტები, რომლებიც განსაზღვრულ პირობას აკმაყოფილებენ. მეთოდი პარამეტრად იღებს ფუნქციას, რომელიც შესრულდება მასივის თითოეული ელემენტისთვის. მეთოდი თავის შედეგად აბრუნებს ახალ მასივს, რომელშიც მხოლოდ ის ელემენტები შევლენ, რომლებისთვისაც გადაცემულმა ფუნქციამ დააბრუნა true.

ფუნქციას შეგიძლიათ გადასცეთ სამი პარამეტრი. თუ ეს პარამეტრები არსებობს (ისინი არ არის სავალდებულო), მაშინ პირველში ავტომატურად ჩავა ელემენტი მასივის, მეორეში ჩავა მისი ნომერი მასივში (ინდექსი), ხოლო მესამეში - თავად მასივი.

სინტაქსი

javascriptlet axali masivi = masivi.filter(function(elementi, indeqsi, masivi) {
  kodi
  return true an false
});

მაგალითი

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

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];

let res = arr.filter(function(elem) {
  if (elem >= 0) {
    return true;
  } else {
    return false;
  }
});

console.log(res);

კოდის შესრულების შედეგი:

javascript[5, 1, 1, 3, 4]

მაგალითი

შევამოკლოთ კოდი, გამოვიყენოთ ისრის ფუნქცია:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];

let res = arr.filter(elem => {
  if (elem >= 0) {
    return true;
  } else {
    return false;
  }
});

console.log(res);

კოდის შესრულების შედეგი:

javascript[5, 1, 1, 3, 4]

მაგალითი

შევამოკლოთ კოდი, გამოვიყენოთ ლოგიკური ოპერაციების შემოკლება:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];

let res = arr.filter(elem => {
  return elem >= 0;
});

console.log(res);

კოდის შესრულების შედეგი:

javascript[5, 1, 1, 3, 4]

მაგალითი

შევამოკლოთ კოდი, გამოვიყენოთ ისრის ფუნქციების თავისებურებები:

javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);

console.log(res);

კოდის შესრულების შედეგი:

javascript[5, 1, 1, 3, 4]

მაგალითი

საჭიროების შემთხვევაში მესამე პარამეტრად შესაძლებელია გადავცეთ თავად მასივი:

javascriptlet res = arr.filter(function(elem, index, arr) {
  aq iqneba damtkmebeli masivi arr
});

ასევე იხილეთ

  • მეთოდები map და forEach,
    რომლებიც საშუალებას აძლევს ფუნქცია გამოიყენოს მასივის თითოეულ ელემენტზე
  • მეთოდები some და every,
    რომლებიც ამოწმებენ მასივს
  • მეთოდები reduce და reduceRight,
    რომლებიც მასივს ერთ მნიშვნელობაში აკუმულირებენ