input: Write a function to filter an array by a given criteria. If the given array and criteria are provided, the function should return an array containing only the elements that match the criteria. If the given array is empty, the function should return an empty 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, 4, 8], lambda x: x % 2 == 0) == [4, 8]
  assert filter_array([], lambda x: x > 0) == []
  assert filter_array([10, 20, 30], lambda x: x > 50) == []
output: def filter_array(arr, criteria):
      return [x for x in arr if criteria(x)]