1

I would like to use the document.getElemntById as a "name" of listing array

function aircraft(operator) {
  var typ = document.getElementById('typ').value;

  var B738 = ['39.5', '35.8', '12.5', '2', '79000', '2930', 'M0.785', '189'];


  document.getElementById('dlugosc').textContent = "Długość: " + B738[0] + 'm';
  document.getElementById('szerokosc').textContent = "Szerokość: " + B738[1] +'m';
  document.getElementById('wysokosc').textContent = "Wysokość: " + B738[2] +'m';
  document.getElementById('silniki').textContent = "Ilość silników: " + B738[3];
  document.getElementById('mtow').textContent = "MTOW: " + B738[4] + 'kg';
  document.getElementById('zasieg').textContent = "Zasięg: " + B738[5] + 'nm';
  document.getElementById('predkosc').textContent = "Prędkość max.: " + B738[6];
  document.getElementById('pasazerowie').textContent = "Pasażerowie max.: " + B738[7];
}

And I can list all from B738 array, but I would like to have more arrays and use diffrent names of listing arrays like var typ, but it doesnt work

function aircraft(operator) {
  var typ = document.getElementById('typ').value;

  var B738 = ['39.5', '35.8', '12.5', '2', '79000', '2930', 'M0.785', '189'];
  var A320 = ['39.5', '35.8', '12.5', '2', '79000', '2930', 'M0.785', '189'];

  document.getElementById('dlugosc').textContent = "Długość: " + typ[0] + 'm';
  document.getElementById('szerokosc').textContent = "Szerokość: " + typ[1] +'m';
  document.getElementById('wysokosc').textContent = "Wysokość: " + typ[2] +'m';
  document.getElementById('silniki').textContent = "Ilość silników: " + typ[3];
  document.getElementById('mtow').textContent = "MTOW: " + typ[4] + 'kg';
  document.getElementById('zasieg').textContent = "Zasięg: " + typ[5] + 'nm';
  document.getElementById('predkosc').textContent = "Prędkość max.: " + typ[6];
  document.getElementById('pasazerowie').textContent = "Pasażerowie max.: " + typ[7];
}
1
  • looks like XY Problem to me, can you tell us what is the feature you intend to achieve? Commented Aug 13, 2022 at 14:15

1 Answer 1

1

You can't directly use the value of typ as a variable in the way you're attempting, but you can use it as an indexer on an object. Make your arrays properties on an object:

var myArrays = {
  B738: ['39.5', '35.8', '12.5', '2', '79000', '2930', 'M0.785', '189'],
  A320: ['39.5', '35.8', '12.5', '2', '79000', '2930', 'M0.785', '189']
};

Then you can use typ to reference those properties:

document.getElementById('dlugosc').textContent = "Długość: " + myArrays[typ][0] + 'm';
Sign up to request clarification or add additional context in comments.

1 Comment

Great idea to use 2D array, thank you for your help

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.