Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.10.2018, 13:14
Новичок на форуме
Отправить личное сообщение для lsdfreak Посмотреть профиль Найти все сообщения от lsdfreak
 
Регистрация: 25.10.2018
Сообщений: 2

Выбрать массив из нескольких, по имени, содержащемуся в другой переменной
Добрый день!

Есть несколько массивов:
A78010 = [1,2,3]
A71202 = [2,3,4]
A68010 = [3,4,5]
A61202 = [4,5,6]

И есть переменная arrayName, в которую приходит имя нужного массива. Например "A71202".
Как выбрать\найти именно этот массив среди остальных и присвоить его значения переменной price.

Натыкался (в том числе на этом форуме) на использование window, но не понял, как применить его к этой ситуации.
Javascript пока только изучаю, так что извините - просто появилась необходимость сделать это для проекта, на котором я и практикую язык.

На данный момент есть страница, где всего 5 массивов, и там все сделано через case. Но теперь нужна страница, где этих массивов около 30, и не хотелось бы делать это кейсом.

Спасибо!

Последний раз редактировалось lsdfreak, 26.10.2018 в 13:37.
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2018, 13:38
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

var size = "a7" // toUpperCase
  var density = "120"
  var type = "2"; // значит нужен массив a71202.

  const base = {
    A78010: [1, 2, 3],
    A71202: [2, 3, 4],
    A68010: [3, 4, 5],
    A61202: [4, 5, 6],
  }
  console.log(base[`${size.toUpperCase()}${density}${type}`]) // [2, 3, 4]
Ответить с цитированием
  #3 (permalink)  
Старый 26.10.2018, 14:21
Новичок на форуме
Отправить личное сообщение для lsdfreak Посмотреть профиль Найти все сообщения от lsdfreak
 
Регистрация: 25.10.2018
Сообщений: 2

Буду пробовать. Но, если я правильно понял — именно то, что нужно.
Огромное спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2018, 15:41
Профессор
Отправить личное сообщение для Artur_Hopf Посмотреть профиль Найти все сообщения от Artur_Hopf
 
Регистрация: 13.03.2018
Сообщений: 278

var arrayName = ['A71202'];// что придет

var A78010 = [1,2,3];
var A71202 = [2,3,4];
var A68010 = [3,4,5];
var A61202 = [4,5,6];

const object = {A78010:A78010, A71202:A71202, A68010:A68010, A61202:A61202}; //надо чтоб все переменные были в объекте

console.log(object[arrayName[0]]); //находим в объекте нужный массив
Ответить с цитированием
  #5 (permalink)  
Старый 26.10.2018, 16:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Artur_Hopf,
чем ваш пример отличается от примера SuperZen, пост №2 ?
Ответить с цитированием
  #6 (permalink)  
Старый 26.10.2018, 19:05
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

A78010 = [1,2,3],
A71202 = [2,3,4],
A68010 = [3,4,5],
A61202 = [4,5,6];

arrayName = 'A61202';
alert(window[arrayName]);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с переменной по имени из параметра dougthehead Общие вопросы Javascript 4 01.09.2013 13:12
Как обратиться к свойству объекта по имени если оно хранится в переменной xaknik Общие вопросы Javascript 2 25.04.2012 23:12
Задание имени переменной из другой vvsh Общие вопросы Javascript 23 24.04.2010 23:30
Выбрать радио кнопку по имени Kolyy jQuery 2 01.02.2010 23:10
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25