Using <Array>.map() for this is simply bizarre. <Array>.forEach() would be a much better fit for this situation. For example:
<<run $myFamily.forEach(function (person) { person.age += 1; })>>
But does the map method not modify an original array?
Normally, you use <Array>.map() to return a new array whose members are created by the supplied callback. Thus, you are correct in that <Array>.map() does not modify the original array.
That holds true in Greyelf's example (and mine within this reply). It does not actually modify the original array itself. It modifies the generic objects within the array via their references.
Objects in JavaScript are what's known as a reference type. Meaning, you never actually hold the object itself, like you would one of the primitive types (e.g., booleans, numbers, and strings), but instead a reference to the object. Thus, the callback in Greyelf's example can modify the objects within the array without modifying the array itself because it's being passed references to the objects.