Вот вариант именно с новым массивом...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<!--
<script src='https://code.jquery.com/jquery-latest.js'></script>
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
var oldArray = [0.99, 1.01, 2.49, 3.51];
document.write("Исходный массив ДО вызова функции: " + oldArray.join(", "));
function fun1(array) {
var temp;
for(var i = 0; i < array.length ; i++) {
temp = array[i];
array[i] = Math.ceil(temp);
}
array = [0, 0, 0, 0];
document.write("<br>Массив в функции: " + array.join(", "));
return array;
}
var newArray = fun1(oldArray.concat());
document.write("<br>Исходный массив ПОСЛЕ вызова функции: " + oldArray.join(", "));
document.write("<br>Новый массив ПОСЛЕ вызова функции: " + newArray.join(", "));
</script>
</head>
<body>
</body>
</html>