屬性時運行下面的代碼,我得到了錯誤的不確定JavaScript不能讀取的不確定
「不能讀取屬性‘字’上標有星號。
var arr = [{
key1: 'value1'
},
{
key1: 'value2'
}
];
for (var k = 0; k <= arr.length; k++) {
console.log(arr[k].key1);
}
屬性時運行下面的代碼,我得到了錯誤的不確定JavaScript不能讀取的不確定
「不能讀取屬性‘字’上標有星號。
var arr = [{
key1: 'value1'
},
{
key1: 'value2'
}
];
for (var k = 0; k <= arr.length; k++) {
console.log(arr[k].key1);
}
你的數組索引範圍是0,arr.length - 1
var arr = [{
key1: 'value1'
},
{
key1: 'value2'
}
];
for (var k = 0; k <= arr.length - 1; k++) {
console.log(arr[k].key1);
}
對於條件<=
,的k
值將變得2
未定義的最後一次迭代。
條件應該是k < arr.length
所以k
該值將是 「0 ... 1」
var arr = [{
key1: 'value1'
},
{
key1: 'value2'
}
];
for (var k = 0; k < arr.length; k++) {
console.log(arr[k].key1);
}
你迭代在一個空對象結束,改變循環條件從<到< =。
var arr = [{
key1: 'value1'
},
{
key1: 'value2'
}
];
for (var k = 0; k < arr.length; k++) {
console.log(arr[k].key1);
}
當你從0到迭代array.length,那麼你在array.length + 1個元素迭代,所以你所要求的一個元素太多。
'K <= arr.length'將導致'ARR [2]'這顯然' undefined'。改用'k
haim770