Tengo un objeto llamado asignaciones que contiene matrices como tales;

assignments = {
    'version_1': [1,2,3,4,5],
    'version_2': [6,7,8,9,0],
    'version_3': [3,4,5,6,7]
}

Si quiero obtener los valores de una versión en particular, simplemente puedo decir algo como console.log(assignments.version_2);

Pero, ¿qué pasa si tengo un número entero establecido en una variable? ¿Cómo haría referencia a los valores dinámicamente? p.ej.

var version_id = 2;
console.log(assignments.version_[version_id]);
0
Typhoon101 30 oct. 2017 a las 12:06

3 respuestas

La mejor respuesta

Puede utilizar esto :

var version_id = 2;
console.log(assignments["version_" + version_id]);

O, si sabe que solo tiene que admitir navegadores que tengan es6, puede hacer lo siguiente:

assignments[`version_${version_id}`] 

Las cadenas de plantilla Es6 hacen las cosas más agradables

2
GGO 30 oct. 2017 a las 09:21
assignments = {
    'version_1': [1,2,3,4,5],
    'version_2': [6,7,8,9,0],
    'version_3': [3,4,5,6,7]
}
console.log(assignments['version_2'])
0
vicky patel 30 oct. 2017 a las 09:47

Intenta seguir

var assignments = {
  'version_1': [1, 2, 3, 4, 5],
  'version_2': [6, 7, 8, 9, 0],
  'version_3': [3, 4, 5, 6, 7]
};

var version_id = 2;

console.log(assignments["version_" + version_id]);
0
Nikhil Aggarwal 30 oct. 2017 a las 09:09