Есть массив в котором должны находится важные данные не подлежащие изменениям. Этот массив постепенно заполняется. И в конце отправляется на сервер. Как сделать так чтобы умный пользователь который изучит мой код и захочет изменить этот массив не смог этого сделать?
К сожалению или к счастью, но никак. Все, что на стороне клиента в этом случае можно менять - вы лишь можете усложнить этот процесс. Кроме того, это данные можно изменить в процессе передачи, точнее отправить нужные данные вместо ваших.
Например ты можешь использовать замыкания, избегая глобальных переменных. Конечно это полностью не решит проблему безопасности, но из консоли менять значение переменных уже не получится.