私は、オブジェクトの配列は、名前Javascriptが未定義例外TypeErrorプロパティを持つオブジェクトをループ
xs = [
{name: "Peter"},
{name: "Doe"},
{name: "Parker"},
{name: "John"}
];
を保存xs
と呼ばれていると私は、変数が定義されていない場合は、空の文字列を返す関数setEmptyStrを持って
function setEmptyStr(v) {
if(typeof v !== 'undefined'){
return v;
} else {
return '';
}
}
私はオブジェクトの配列をループさせようとします(配列よりも長さが長くなります)、配列の長さは4、私は5を試してみます。array.lengthを使用したくありません。
for (var i = 0; i < 5; i++) {
console.log(setEmptyStr(xs[i].name));
}
4つの名前は、定義されていないため、成功して戻ります。しかし、第5回は、私は5番目が空の文字列を返すようであるたい
TypeError property 'name' is undefined.
>>Peter
>>Doe
>>Parker
>>John
Uncaught TypeError: Cannot read property 'name' of undefined
を返すことです。これどうやってするの?私のコードに誤りがありますか?
>>Peter
>>Doe
>>Parker
>>John
>>""
を送っていない持っているかどうかを確認し、実際に 'ARR [5]'あなたはこのエラーを得た理由ですundefined' 'になります。 –
'xs [i]'は 'xs [i] .name'ではなく、未定義のものです。 –
私はそれを試して、それを返しますUncaught TypeError:未定義のプロパティ '名前'を読み取ることができません。私は私のarr [5]が空の文字列を返すことを望みます。これどうやってするの? –