javascript数组“未定义”控制台日志

时间:2019-03-26 05:16:14

标签: javascript arrays json undefined

我想取消安排中的“房间名称”。但是,当我运行日志时,却无法定义。

var roomNameArr = presenterArray.filter(function(item){
   console.log("## item.roomName : "+item.roomName);
   return item.roomName === viewerRoomName;
});

运行日志时,出现以下结果。

console.log("## roomNameArr : "+JSON.stringify(roomNameArr));

roomNameArr = [{"id":"1","pipeline":{"domain":null,"_events":{},"_eventsCount":7,"id":"5465b70f-613f-4184-80d3-895b3dcfa2c7_kurento.MediaPipeline"},"webRtcEndpoint":{"domain":null,"_events":{},"_eventsCount":6,"id":"5465b70f-613f-4184-80d3-895b3dcfa2c7_kurento.MediaPipeline/ac2bc699-bddf-44e2-a711-6444737109a1_kurento.WebRtcEndpoint"},"presenterRoomNum":"1","roomName":"1"}]

当我记录日志以取出变量a时,出现“未定义”。

console.log("## roomNameArr1 : "+roomNameArr['roomName']);
console.log("## roomNameArr1 : "+roomNameArr['5']);

我还在四处徘徊,我需要你帮助我。

1 个答案:

答案 0 :(得分:1)

由于roomNameArr是一个对象数组,因此该数组中的所有对象总会有一个索引号。

因此,如果要访问key:value数组中任何对象的roomNameArr,则必须定义该对象存在的索引号。

就您而言,您必须编写类似

console.log("## roomNameArr1 : "+roomNameArr[0]['roomName']);

console.log("## roomNameArr1 : "+roomNameArr[0].roomName);

正确获取输出。