input: Write a function to filter an array by a given criteria and return the filtered array.
  assert filter_array([1, 2, 5, 10, 15, 20, 25, 30], lambda x: x % 5 == 0) == [5, 10, 15, 20, 25, 30]
  assert filter_array([3, 7, 11, 13], lambda x: x % 2 == 0) == []
  assert filter_array([], lambda x: x > 0) == []
  assert filter_array([-5, -10, -15, 5, 10], lambda x: x < 0) == [-5, -10, -15]
  assert filter_array([1, 2, 3, 4, 5], lambda x: x > 2) == [3, 4, 5]
output: def filter_array(arr, criteria):
      return [x for x in arr if criteria(x)]