配列要素が未定義かどうかをテストしようとしています:
if(typeof selected[i].facet != 'undefined')
{
//do stuff
}
私にくれます
Javascript 'Uncaught TypeError: Cannot read property 'facet' of undefined '
配列要素が未定義かどうかをテストしようとしています:
if(typeof selected[i].facet != 'undefined')
{
//do stuff
}
私にくれます
Javascript 'Uncaught TypeError: Cannot read property 'facet' of undefined '
配列インデックスとプロパティの両方をテストする必要があります。
if (selected[i] && selected[i].facet !== undefined) { // ...
if((selected[i]) && (selected[i].facet != undefined))
{
//do stuff
}
ループを適切に行う必要があります
for (var i = 0, len = selected.length; i < len; ++i) {
//selected[i] will always be a valid index in the array
}
selected[i]
配列内の有効なインデックスである場合でも、undefined
意味的には配列は必要ありませんが、整数をキーとして持つ辞書は必要です。その場合、 でループできますfor( var key in map )
。症状と戦うのではなく、エラーの原因を修正することを目指してください。