0

私は配列を持っています:

var fileMetaData = [];

ループで、配列にプッシュしたい:

$('#gallery-manager-add-form .galleryImage').each(function(){

    fileMetaData.push(myTestArray);
});

テスト用の myTestArray は次のとおりです。

var myTestArray = new Array(2);
myTestArray['a'] = 'foo';
myTestArray['b'] = 'bar';

問題は、配列の内容を取得すると、それが単なるコンマ (,) になることです。

私が間違っているアイデアはありますか?

4

4 に答える 4

4

これは、配列とオブジェクト (どちらを使用する必要があるか) を混同しているためです。

キーが'a'との場合は'b'、使用します

var myTestArray = {};
myTestArray['a'] = 'foo';
myTestArray['b'] = 'bar';

本当に配列を使用したい場合は、

var myTestArray = [];
myTestArray.push('foo'); // no explicit key 
myTestArray.push('bar');

配列の標準表現はプロパティを検索しないため、コンマだけを見たので、[[],[]].toString()which isに相当するものを出力してい","ました。

于 2013-04-18T14:40:12.420 に答える
0

これはうまくいくはずです

$('#gallery-manager-add-form .galleryImage').each(function(){

    fileMetaData.push(myTestArray[0],myTestArray[1]);

});

1次元配列 http://jsfiddle.net/Gs6ZU/

2次元配列 http://jsfiddle.net/fY9S5/1/

于 2013-04-18T14:44:01.627 に答える