Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь с задачами по замыканию! (https://javascript.ru/forum/misc/68863-nuzhna-pomoshh-s-zadachami-po-zamykaniyu.html)

uryashnik 14.05.2017 21:30

Нужна помощь с задачами по замыканию!
 
День добрый, помогите с задачами по замыканию, до этого все темы были понятны, да и само замыкание смысл в принципе понял, но вот с задачами которые посложнее возникли проблемы:
https://learn.javascript.ru/closures-usage#tasks
задача 5:
function filter(arr, func) {
  var result = [];

  for (var i = 0; i < arr.length; i++) {
    var val = arr[i];
    if (func(val)) {
      result.push(val);
    }
  }

  return result;
}

var arr = [1, 2, 3, 4, 5, 6, 7];

alert(filter(arr, function(a) {
  return a % 2 == 0;
})); // 2, 4, 6

не могу понять каким образом аргумент func из функции filter(arr, func), принимает сзначение через function(a) в которую не передаеться массив.И еще что значи func(val) ?

рони 14.05.2017 21:43

uryashnik,
может чем поможет
if (func(val))
if (function(a) {
  return a % 2 == 0;
})
if (val % 2 == 0 )
if (arr[i] % 2 == 0 )

uryashnik 14.05.2017 21:56

обьясните в двух словах пожалуйста

рони 14.05.2017 22:12

uryashnik,
всё что мог выше, функция проверки выдаёт true или false для каждого элемента массива, и если true то элемент записывается в результирующий массив.

ksa 15.05.2017 08:32

Цитата:

Сообщение от uryashnik
И еще что значи func(val) ?

Запуск функции func() с параметром val...


Часовой пояс GMT +3, время: 21:04.