input: Write a function to replace elements in an array based on the following rules: if the element is divisible by 3, it should be replaced with "Fizz"; if the element is divisible by 5, it should be replaced with "Buzz"; if the element is divisible by both 3 and 5, it should be replaced with "FizzBuzz". Return the modified array. If the array is empty, return an empty array.
  
  def fizz_buzz(arr):
      new_arr = []
      for element in arr:
          if element % 3 == 0 and element % 5 == 0:
              new_arr.append("FizzBuzz")
          elif element % 3 == 0:
              new_arr.append("Fizz")
          elif element % 5 == 0:
              new_arr.append("Buzz")
          else:
              new_arr.append(element)
      return new_arr
  
  assert fizz_buzz([2, 3, 4, 5, 6, 15]) == [2, "Fizz", 4, "Buzz", "Fizz", "FizzBuzz"]
  assert fizz_buzz([1, 2, 3]) == [1, 2, "Fizz"]
  assert fizz_buzz([5, 10, 15]) == ["Buzz", "Buzz", "FizzBuzz"]
  assert fizz_buzz([1, 2, 4]) == [1, 2, 4]
  assert fizz_buzz([]) == []
output: def fizz_buzz(arr):
      new_arr = []
      for element in arr:
          if element % 3 == 0 and element % 5 == 0:
              new_arr.append("FizzBuzz")
          elif element % 3 == 0:
              new_arr.append("Fizz")
          elif element % 5 == 0:
              new_arr.append("Buzz")
          else:
              new_arr.append(element)
      return new_arr