Добрый вечер!
Сразу
ссылка на jsfiddle.
Опишу ситуацию.
Если внутри функции мы присваиваем массиву, переданному в виде аргумента новое значение (другой массив), происходит вполне ожидаемая вещь - локальная копия массива перезаписывается, а глобальная остается неизменной.
Однако, если мы оперируем внутри функции элементами массива, то изменения сказываются и на глобальной копии массива.
Видимо, еще не до конца разобрался с областями видимости, поэтому хотелось бы понять, с чем связано такое поведение и от кого еще можно ожидать такого подвоха?
Ссылки на матчасть очень приветствуются.