Просто после твоего поста прочитал про window и там было написано что сначало js ищет переменную в локальной области видимости потом в ниже лежащей и так пока не найдет так что если много вложений функций то будет галяк по этому и window как я понял
var array1 = [1,2,3];
var array2 = [4,5,6];
function set_array() {
....
var g = i == 1 ? window.array1 : window.array2;
alert(g[0]);
}