繁体   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