messages['info']
orを使用する前に定義していませんmessages['error']
。最初に初期化します。また、キーと値のマッピングを格納するために配列を使用しないでください。そのためにはプレーンなオブジェクトを使用してください。
var messages = new Object;
messages['info'] = new Array;
messages['info'].push("info message1", "info message2", "info message3");
messages['error'] = new Array;
messages['error'].push("error message1", "error message2", "error message3");
元のコードに別のエラーがあったことに注意してください。つまり、配列を に渡していたため.push()
、結果として配列の配列の配列が生成されていました。
または、オブジェクトおよび配列リテラルを使用する (推奨):
var messages = {};
messages['info'] = ["info message1", "info message2", "info message3"];
messages['error'] = ["error message1", "error message2", "error message3"];