Estoy trabajando con algunos objetos que contienen una cantidad de datos para mostrar y manipular desde el navegador, y quiero guardarlos en el almacenamiento local. Con el fin de guardar los objetos que utilicé JSON.stringify() así que todo convertido en texto, y funciona bienguarde una función en localstorage
{
"bindingRef": [],
"primo": {
"name": "primo",
"modifiable": true,
"binded": false,
"isInteger": false,
"label": "Numero di Primi"
},
"secondo": {
"name": "secondo",
"modifiable": true,
"binded": false,
"isInteger": false,
"label": "Numero di Secondi"
}
}
Ahora estoy tratando de salvar también una función mediante su conversión en una cadena y luego se saveing
JSON.stringify(myFunction.toString());
pero la salida es este
"savedFunction": "function() {\n\t\t\t\tvar tot = menu.primo.get() * 6 + menu.secondo.get() * 8 + menu.dolce.get() * 4;\n\t\t\t\tif (menu.sconto.get()) {\n\t\t\t\t\treturn tot * 0.90;\n\t\t\t\t} else {\n\t\t\t\t\treturn tot;\n\t\t\t\t}\n\t\t\t}"
¿es la forma correcta para guardar una función de almacenamiento local o hay una mejor manera de hacer esto? Si esta es la forma correcta, ¿hay alguna forma de eliminar simplemente cualquier carácter de tabulación/sangría o debo manipular la cadena, por ejemplo, usando alguna función de expresión regular?
desea guardar Stringified objeto o función de la firma? ¿Qué salida esperas? – Sarfraz
¿Por qué quieres guardar una función? En mi opinión, no hay una forma "correcta" de hacerlo porque realmente no tiene sentido hacerlo en absoluto. Suponiendo que desea guardar la versión '.toString()' de la función, ¿por qué quiere eliminar pestañas (que podría hacer con '.replace()')? – nnnnnn