以前から知られていた不具合。出力直前でalertさせる以外の解決方法があったので記載しておく。
■再現コード
var ary = ["hoge"]; console.log(ary); ary[0] = "fuga"; console.log(ary);
Firefox3.6
Firefox3.6のfirebugの場合は以下のように表示される。
["hoge"] ["fuga"]
Chrome8
Chrome8の場合は以下のように表示される。
["fuga"] ["fuga"]
■修正
以下のように文字列として表示するとChrome8でもFirefoxのように表示される。
var ary = ["hoge"]; console.log(ary.toString()); ary[0] = "fuga"; console.log(ary.toString());
もしくは以下のようにJSON.stringifyを使用し、JSON文字列とする。
var ary = ["hoge"]; console.log(JSON.stringify(ary)); ary[0] = "fuga"; console.log(JSON.stringify(ary));