Home > OS >  Show array from getElementById
Show array from getElementById

Time:08-13

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];
}

CodePudding user response:

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';
  • Related