2
動的配列を$.each()
までループできないのはなぜですか?
var array = [];
array['one'] = 'two';
$.each(array, function(key, value)
{
//not get in loop
alert(value);
});
動的配列を$.each()
までループできないのはなぜですか?
var array = [];
array['one'] = 'two';
$.each(array, function(key, value)
{
//not get in loop
alert(value);
});
アレイの場合、$.each()
は、番号付きインデックスをループします。名前付きプロパティをループする場合は、オブジェクトを使用する必要があります。
var obj = {};
obj['one'] = 'two';
$.each(obj, function(key, value)
{
console.log(key, value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
これはdocumentationに説明する:
配列と長さ特性を有するアレイ状の物体(例えば、関数の引数としてのオブジェクト)が、数値インデックスによって反復されます0からlength-1までです。他のオブジェクトは、名前付きプロパティを使用して反復されます。
ドキュメント:http://api.jquery.com/jquery.each/ – abc123
あなたは、配列を使用したい場合は、配列 'にOPコードの2行目を変更する[0] =「2」;' – depperm
私は彼が "ダイナミックアレイ"と言うとき、彼は名前付きプロパティを持つ何かを意味すると思います。 – Barmar