Нужно на основе функции forEach() создать функцию filter(), они работают как и соответствующие методы

Вопрос заключается в том, как передать функции filter, оператору if значение элемента массива, который используется в forEach()

function forEach(arr, func) {
  for (let i = 0; i < arr.length; i++) {
    func(arr[i]);
  }
}

function filter(arr, func) {
  const newArr = [];
  forEach(arr, function item() {
    if (arr[i]) {
      newArr.push(func(item()));
    }
  });
  return newArr;
}

Ответы (1 шт):

Автор решения: Igor
function filter(arr, func) {
  const newArr = [];
  forEach(arr, function(item) {
    if (func(item)) {
      newArr.push(item);
    }
  });
  return newArr;
}
→ Ссылка