Përdorimi i Funksioneve me Shigjetë në JavaScript

Funksionet me shigjetë kanë një avantazh të veçantë si callback. Le të shohim me një shembull se sa thjeshtësohet kodi në një rast të tillë. Le të themi për shembull se kemi funksionin e mëposhtëm filter:

javascriptfunction filter(arr, callback) {
  let res = [];

  for (let elem of arr) {
    if ( callback(elem) === true ) {
      res.push(elem);
    }
  }
  
  return res;
}

Le ta thërrasim këtë funksion, duke i kaluar një callback:

javascriptlet result = filter([1, 2, 3, 4, 5], function(elem) {
  if (elem % 2 === 0) {
    return true;
  } else {
    return false;
  }
});

Tani le ta thjeshtëzojmë funksionin tonë. Së pari le të heqim qafe konstruksionin if dhe të shkruajmë kushtin thjesht përmes operatorit ===:

javascriptlet result = filter([1, 2, 3, 4, 5], function(elem) {
  return elem % 2 == 0;
});

Tani le të zëvendësojmë funksionin e zakonshëm me një funksion me shigjetë:

javascriptlet result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);
Задание 1

Është dhënë funksioni i mëposhtëm me callback:

javascriptlet result = filter([1, 2, 3, 4, 5], function(elem) {
  if (elem > 0) {
    return true;
  } else {
    return false;
  }
});

Thjeshtësoni callback-in përmes një funksioni me shigjetë.