Самый простой способ узнать это, просто проверить, если есть сомнения.
Вообще, в разных языках методы могут как изменять исходный массив, так и не изменять, если важно, чтобы исходный массив не трогать, используются всякие штуки из функционального программирования, обычно это во всех языках проведение одинаково.
Типа map(), forEach(), filter(), reduce().
Также разберитесь когда передается ссылка, а когда значение, чтобы хотя бы понимать, что это разные вещи и когда будет что-то не получается, может оказаться, что забыли именно это.
Ещё почитайте о порядке вычисления выражений, в данном случае, очевидно, что сначала вычислиться функция, потом ее значение провалится тому, что справа.