In FP functions shouldn't mutate data structures that were passed by reference on input, instead any input data should be copied before performing mutations on it to avoid changes to external state.
This is how e.g. Array.prototype.filter() works in JavaScript:
var numbers = [1,2,3,4,5,6,7,8,9,10];
var evenNumbers = numbers.filter( function(number) {
return number % 2 === 0;
});