このようなオブジェクトがあって
var obj1 = {en: "english", ja: "japanese"};
var obj2 = {fr: "french", it: "italian"};
var obj3 = {ko: "korean", de: "deutschland"};
このようにひとつにまとめたい
{"en":"english","ja":"japanese","fr":"french","it":"italian","ko":"korean","de":
"deutschland"}
.gsファイル内ではエラーが出て使えませんが、HTML ServiceのJavaScriptでは使えたため備忘録として
.gsファイル内で使うときに出るエラー
TypeError: オブジェクト function Object() { [native code for Object.Object, arity=1] } で関数 assign が見つかりません。
コード.gs
function doGet() { return HtmlService.createHtmlOutputFromFile("index"); } |
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html> <html> <body> <script> obj_assign(); function obj_assign() { var obj1 = { en: "english", ja: "japanese" }; var obj2 = { fr: "french", it: "italian" }; var obj3 = { ko: "korean", de: "deutschland" }; var obj = Object.assign(obj1, obj2, obj3); alert([JSON.stringify(obj), JSON.stringify(obj1), JSON.stringify(obj2), JSON.stringify(obj3)]); } </script> </body> </html> |
意訳obj_assign()を実行する この機能がやること 1つめのオブジェクト 2つめのオブジェクト 3つめのオブジェクト obj1にobj2とobj3をマージして obj, obj1, obj2, obj3の中身をアラートに出す |