数组显示为未定义,即使我能够记录其内容

时间:2019-12-07 01:00:38

标签: node.js socket.io

我试图从数组中获取数据,但是当我尝试从数组中获取信息时,出现一个错误,表明数组未定义。请检查以下代码以获得更好的解释:

const socketInfo = CircularJSON.stringify(socket);
console.log(socketInfo); // shows full array correctly
console.log(socketInfo.server); // says undefined, even though server object has information in it

2 个答案:

答案 0 :(得分:1)

我在评论中提到您必须遍历数组。我不知道“ socketInfo”是什么样子,但是如果它是一个数组,则可以这样做来获取服务器

var socketInfo = [
  { 
  	server: 'dev', 
    ip: '10.10.10.1'
  },
  { 
  	server: 'staging', 
    ip: '10.10.10.2'
  },
  { 
  	server: 'production', 
    ip: '10.10.10.3'
  } 
];

socketInfo.forEach(function(x) {
    console.log(x.server);
});

答案 1 :(得分:0)

添加JSON.parse和toString()后,我能够获取数组值。

const socketInfo = JSON.parse(CircularJSON.stringify(socket).toString());