JavaScript-da oklu funksiýalaryň ulanylyşy

Oklu funksiýalar, call-back funksiýalary hökmünde ýörite üstünlüge eýedir. Geliň, munuň ýaly ýagdaýda kodyň näçe ýönekeýleşdirilýändigini mysalda göreli. Mysal üçin, bizde aşakdaky filter funksiýasy bardyr:

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

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

Bu funksiýany çagyryp, oňa call-back ibereli:

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

Indi funksiýamyzy ýönekeýleşdirmäge synanyşalyň. Ilki bilen, if gurluşyndan halas bolalyň we şertimizi diňe === operatory arkaly ýazalyň:

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

Indi adaty funksiýany oklu funksiýa bilen çalşyryň:

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

Aşakdaky call-back-li funksiýa berlen:

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

Call-back-i oklu funksiýa arkaly ýönekeýleşdiriň.