次のように定義された配列があります。
var subjectCache = [];
次に、それを構築するためのコードがいくつかありますが、これは正常に機能しています。
ただし、インデックスで配列を参照しようとすると、次のようになります。
var x = subjectCache[0];
また
var x = subjectCache[1];
私は得るundefined
。またsubjectCache.length
、常に 0 (ゼロ) です。
キーで参照しようとすると、次のようになります。
var x = subjectCache['12345'];
できます。
これは正常ですか?インデックスで参照できるようにすべきではありませんか?
私は Internet Explorer を使用しています。
[編集]
これは私が配列を構築するために使用しているコードですが、それが原因だとは思いません。
これは、Web サービス呼び出しからのコールバックです。これは正常に機能しており、アレイにデータが取り込まれています。
var subjectCache = [];
var subjectCacheCount = 0;
function refreshSubjectsCallback(data) {
// update subjects
// loop through retrieved subjects and add to cache
for( i=0; i < data.length; i++ )
{
var subject = data[i];
var subjectid = subject.SubjectId;
subjectCache[subjectid] = subject;
subjectCacheCount += 1;
}
}
[/編集]