Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Обращение к массиву через переменную [дубликат]

#javascript #jquery


        
             
                
                    
                        
                            На этот вопрос уже дан ответ здесь:
                            
                        
                    
                
                        
                            Как обратиться к переменной с id в имени? JS
                                
                                    (1 ответ)
                                
                        
                                Закрыт 2 года назад.
            
                    
Есть массив massiv_228, и к нему нужно обратиться через другую переменную massiv
(я в нее передаю уникальный ID). Я понимаю, что делаю неправильно, но не пойму как
исправить.

Вот пример кода:

// Массив
var massiv_228 = [
    '44',
    '45',
    '49',
    '50',
    '51',
];

var ID = '228';
var massiv = 'massiv_' + ID;

$(massiv).each(function() {
    // Элементы массива
});

    


Ответы

Ответ 1



Плохой способ, но кажется, что по-другому строку не превратить в имя локальной переменной: ~function () { var massiv_228 = ['44', '45', '49', '50', '51']; var ID = '228'; var massiv = eval('massiv_' + ID); console.log(massiv); }() По-хорошему надо пересмотреть подход и скаладывать массивы внутрь: ~function () { var data = { 228: ['44', '45', '49', '50', '51'] }; var ID = '228'; var arr = data[ID]; console.log(arr); }()

Ответ 2



Вы объявили массив глобально, так что можно получить его как свойство глобального объекта: // Массив var massiv_228 = [ '44', '45', '49', '50', '51', ]; var ID = '228'; var massiv = 'massiv_' + ID; console.log(window[massiv]);

Комментариев нет:

Отправить комментарий