-3

I'm receiving a JSON answer, the point here is that every iteration has different names, so I donĀ“t know if it's possible to change the variable name dynamically in a for loop. My code below:

var content;
for(var index in data){
      content += '<tr class="clickableRow">'
      +'<td class="text-center">'+(index+1)+'</td>'
      +'<td class="text-center">'+data[index].idpuntoventa1+'</td>'
      +'<td class="text-center">'+data[index].puntoventa1+'</td>'
      +'<td class="text-center">'+data[index].idtipoexhibicion1+'</td>'
      +'<td class="text-center">'+data[index].tipoexhibicion1+'</td></tr>';
}

I just want to change the number at the end like: idpuntoventa2, idpuntoventa3.

mhodges
  • 10,938
  • 2
  • 28
  • 46
xiul2194
  • 25
  • 2

1 Answers1

1

You can do this by doing a concatenated string, or using a template literal with bracket notation, like so:

var content;
for(var index in data){
      content += '<tr class="clickableRow">'
      +'<td class="text-center">'+(index+1)+'</td>'
      +'<td class="text-center">'+data[index]['idpuntoventa' + index]+'</td>'
      +'<td class="text-center">'+data[index]['puntoventa' + index]+'</td>'
      +'<td class="text-center">'+data[index]['idtipoexhibicion' + index]+'</td>'
      +'<td class="text-center">'+data[index]['tipoexhibicion' + index]+'</td></tr>';
}

Template literal would look like the following:

... + data[index][`idpuntoventa${index}`] + ...
Luca Kiebel
  • 9,790
  • 7
  • 29
  • 44
mhodges
  • 10,938
  • 2
  • 28
  • 46