Tengo un código como este.
var key = "anything";   
var object = {   
    key: "key attribute"  
};
Quiero saber si hay una manera de reemplazar eso keycon "cualquier cosa".
me gusta
var object = {  
    "anything": "key attribute"     
};
                    
                        javascript
                                
                    
                    
                        Yuan gordiano
fuente
                
                
            fuente

Si. Puedes usar:
var key = "anything"; var json = { }; json[key] = "key attribute";O simplemente use su segundo método si tiene los valores a mano al escribir el programa.
fuente
En Javascript moderno (ECMAScript 6) puede rodear la variable con corchetes:
var key = "anything"; var json = { [key]: "key attribute" };fuente
Esto debería funcionar:
var key = "anything"; var json = {}; json[key] = "key attribute";fuente
Solución:
var key = "anything"; var json = {}; json[key] = "key attribute";fuente
Los cierres funcionan muy bien para esto.
function keyValue(key){ return function(value){ var object = {}; object[key] = value; return object; } } var key = keyValue(key); key(value);fuente
Recientemente se necesitaba una solución para configurar las cookies pasando los valores clave de json dinámicos. Usando https://github.com/js-cookie/js-cookie#json , se puede hacer fácilmente. Quería almacenar cada valor de opción seleccionado del usuario en la cookie, para que no se pierda en caso de que la pestaña o el navegador se apague.
var json = { option_values : {} }; $('option:selected').each(function(index, el) { var option = $(this); var optionText = option.text(); var key = 'option_' + index; json.option_values[key] = optionText; Cookies.set('option_values', json, { expires: 7 } ); });Luego, puede recuperar cada valor de clave de cookie en cada carga de página usando
Cookies.getJSON('option_values');fuente
Bueno, no hay una forma "directa" de hacer esto ...
pero esto debería hacerlo:
json[key] = json.key; json.key = undefined;Es un poco complicado, pero bueno, ¡funciona!
fuente