私は配列を宣言しました:
var employeeBanks =
[
{ validFromDate: '2013-01-01', validToDate: '2013-12-31' },
{ validFromDate: '2013-01-01', validToDate: '2013-12-31' },
{ validFromDate: '2013-01-01', validToDate: '2013-12-31' },
{ validFromDate: '2013-02-01', validToDate: '2014-01-31' },
];
配列のすべてのメンバーを反復処理しようとすると、次のようになります。
for (var a = 0; a < employeeBanks.length; a++)
{
...
}
配列に余分な項目があるため、エラーが発生します。
employeeBanks
[0] = [object]
[1] = [object]
[2] = [object]
[3] = [object]
[prototype] = [object]
そして、配列の 5 番目の要素は認識できません。だから私はエラーが発生します。IE11 を IE9、IE10、またはエッジ モードで実行すると、prototype
メンバーが表示されません (または、配列の反復時に表示されません)。
配列のメンバーのみを反復するための推奨手法は何ですか? 私の許可なしに配列に表示される可能性がある他の期待されるものはありますか?
ボーナスのスクリーンショット:
完全なソース:
<!doctype html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<script type="text/javascript">
var employeeBanks =
[
{ validFromDate: '2013-01-01', validToDate: '2013-12-31' },
{ validFromDate: '2013-01-01', validToDate: '2013-12-31' },
{ validFromDate: '2013-01-01', validToDate: '2013-12-31' },
{ validFromDate: '2013-02-01', validToDate: '2014-01-31' },
];
</script>
<body>
<p id="lblFoo">
<script type="text/javascript">
for (var a = 0; a < employeeBanks.length; a++)
{
document.getElementById("lblFoo").innerText = "Test failed";
document.getElementById("lblFoo").innerText = employeeBanks[a].validToDate;
}
document.getElementById("lblFoo").innerText = "Test complete";
</script>
</body>
</html>
を削除する<meta http-equiv="X-UA-Compatible" content="IE=8" />
と、機能します。