所以我想做一個最基本的事情,我想知道我的方法有什麼問題。在javascript中空陣列的長度
我有一個包含客房
{ rooms:
{ ijxeczyu:
{ Id: 'ijxeczyu',
teacherName: 'testteacher',
teacherId: '/#Ikosyfr1NtDcpKbaAAAA',
clients: [] } },
getRooms: [Function],
addRoom: [Function] }
現在我想使自己在玉表信息的對象。 對於工作,我想提取重要的東西,並把它推到一個數組
function makeArray(obj) {
var roomArray = [];
for (var room in obj) {
roomArray.push({
roomId : room.Id,
teacher : room.teacherName,
clients : room.clients.length || 0
})
}
return roomArray;
}
很容易。 但我不能讓空的客戶端陣列工作。 TypeError: Cannot read property 'length' of undefined
是不是正是|| 0
部分應該抓到的?
爲什麼不能正常工作?如果沒有條目,我該如何讀取數組的長度或0
?
假設你意味着room.clients是不確定的,那麼'|| 0'太晚了。相反,你可以這樣做: '(room.clients || [])。length' –