簡體   English   中英

JavaScript中空數組的長度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM