Можно ли использовать функцию ввода для создания имени переменной? - PullRequest
0 голосов
/ 31 мая 2019

Уверен, что мой заголовок вводит в заблуждение ... Ну да ладно.В общем, я пытаюсь создать игру, и у меня есть куча arrays с именами вроде ItemsInG5Array, ItemsInB2Array, где G5 и B2 - узлы карты.Итак, я пытаюсь создать функцию, которая выдаст вам список предметов в одном конкретном узле, где находится игрок.

function options(location) 
locationPickups: while(true) {
pick = prompt("There are few items laying around.\n" + itemsInG6Array + "\nWould ou like to pick something up?");
...

Где location - имя узла.Есть ли что-нибудь простое, что я могу поставить вместо ItemsInG6Array, чтобы сделать его динамичным, чтобы он менялся в зависимости от переменной location.ItemsIn(location)Array

1 Ответ

1 голос
/ 31 мая 2019

Типичное решение здесь - создать объект с ключами, а затем динамически выбрать один из этих ключей.

const example = {
  itemsInG6Array: [],
  itemsInB2Array: [],
}

function options(location) {
  const key = 'itemsIn' + location + 'Array';
  const items = example[key];
  const pick = prompt("There are few items laying around.\n" + items + "\nWould ou like to pick something up?");
}
...