26.10.2018, 13:14
|
Новичок на форуме
|
|
Регистрация: 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.
|
|
26.10.2018, 13:38
|
|
Профессор
|
|
Регистрация: 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]
|
|
26.10.2018, 14:21
|
Новичок на форуме
|
|
Регистрация: 25.10.2018
Сообщений: 2
|
|
Буду пробовать. Но, если я правильно понял — именно то, что нужно.
Огромное спасибо!
|
|
26.10.2018, 15:41
|
Профессор
|
|
Регистрация: 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]]); //находим в объекте нужный массив
|
|
26.10.2018, 16:29
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Artur_Hopf,
чем ваш пример отличается от примера SuperZen, пост №2 ?
|
|
26.10.2018, 19:05
|
|
Профессор
|
|
Регистрация: 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]);
|
|
|
|