ブラウザーから表示および操作する多数のデータを含むいくつかのオブジェクトを使用しており、それをローカル ストレージに保存したいと考えています。オブジェクトを保存するために JSON.stringify() を使用したので、すべてがテキストになり、うまく機能します
{
"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"
}
}
今、関数を文字列に変換してから保存することで、関数も保存しようとしています
JSON.stringify(myFunction.toString());
しかし、出力はこれです
"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}"
関数をローカルストレージに保存するのは正しい方法ですか、それとももっと良い方法がありますか? これが正しい方法である場合、集計/インデント文字を単純に削除する方法はありますか、または正規表現関数を使用するなどして文字列を操作する必要がありますか?