0

次の結果を得る方法がわからないようです...

var errors;
errors = { username: "username_error", email: "email_error" };

...このコードのデータをループする場合:

var errors = {}
$.each(data,function(k,v)
{
   errors[k] = v; // doesn't seem to work
});

それはまだ異なるフォーマットでオブジェクトを生成します。

編集:コンソールログ。

推測される結果:

Object
email: "email_error"
username: "username_error"
__proto__: Object
 edit:25
Object
__proto__: Object

生成された結果:

Object
email: Array[1]
0: "email_error"
length: 1
__proto__: Array[0]
username: Array[1]
0: "username_error"
length: 1
__proto__: Array[0]
__proto__: Object
4

2 に答える 2

2

ログ出力で投稿した結果から、のオブジェクトdataは配列のようです。割り当てを次のように置き換えてみてください。

errors[k] = v.length>0 ? v[0] : ""
于 2012-09-01T01:00:49.110 に答える
1

これを試して

var errors = {}
$.each(data,function(k,v)
{
   errors[k] = v[0];

});

デモ

于 2012-09-01T01:01:16.427 に答える