Digamos que tengo una matriz simple como esta:
const arr = { name: 'Lorem', age: 'Ipsum', } ¿Cómo verificaría el valor del name en función de una variable que, por ejemplo, se establece al hacer clic en un botón? Esto es lo que probé:
const arr = { name: 'Lorem', age: 'Ipsum', } $('button').click(function(e) { e.preventDefault(); var key = $(this).attr('data-key'); // this: console.log(arr.key); // should return the same result as this: console.log(arr.name); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button data-key="name">Click Me</button>Usando la notación de corchetes:
const arr = { name: 'Lorem', age: 'Ipsum' }; $('button').click(function(e) { e.preventDefault(); const key = $(this).attr('data-key'); console.log(arr[key]); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button data-key="name">Click Me</button>Arr.key toma la palabra clave "clave" literalmente y no reemplaza su variable con el nombre de la clave. Debe agregar corchetes así para realizar esta acción:
arr[key];Hacerlo de esta manera reemplazará el término literal "clave" con la variable que le hayas asignado.