Показать сообщение отдельно
  #5 (permalink)  
Старый 31.01.2013, 14:28
Новичок на форуме
Отправить личное сообщение для dimast Посмотреть профиль Найти все сообщения от dimast
 
Регистрация: 31.01.2013
Сообщений: 5

Так еще раз: ситуация сложная.

есть массив в котором храняться ключи другого массива. нужно пройти путь в одном массиве по ключам которые храняться в другом и после записать туда значение.

main_arr = [[0,[0,1]],1]

path_arr = [0,1,0]


то есть нужно пройти путь по main_arr используя ключи из массива path_arr

1. main_arr -> ключ path_arr [0] // получаем [0,[0,1]]
2. main_arr -> ключ path_arr [1] // получаем [0,1]
3. main_arr -> ключ path_arr [2] // получаем 1


пока реализовал как полный дурак вот посмотрите межет поймете проблему:

function update_temp_arr(arr){
        var p = temp_privileges_pos;
        switch (temp_privileges_pos.length) {
            case 1:
                temp_privileges[p[0]] = arr;
                break
            case 2:
                temp_privileges[p[0]][p[1]] = arr;
                break
            case 3:
                temp_privileges[p[0]][p[1]][p[2]] = arr;
                break
            case 4:
                temp_privileges[p[0]][p[1]][p[2]][p[3]] = arr;
                break
            case 5:
                temp_privileges[p[0]][p[1]][p[2]][p[3]][p[4]] = arr;
                break
            case 6:
                temp_privileges[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]] = arr;
                break
            case 7:
                temp_privileges[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]][p[6]] = arr;
                break
            case 8:
                temp_privileges[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]][p[6]][p[7]] = arr;
                break
            case 9:
                temp_privileges[p[0]][p[1]][p[2]][p[3]][p[4]][p[5]][p[6]][p[7]][p[8]] = arr;
                break
        }

    }
Ответить с цитированием