[英]Length of empty array in 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
部分應該抓住?
為什么不起作用? 如果沒有條目,如何讀取數組的長度或0
?
room.clients
undefined
,這就是為什么您會收到該錯誤。 undefined
的原因是因為room
是一個字符串。
for..in
循環遍歷對象的鍵。 這意味着, room === "ijxeczyu"
,假設你傳遞你的rooms
對象。 要訪問該對象,您必須在該鍵處訪問該對象。
for (var name in obj) {
var room = obj[name];
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.