我想取消安排中的“房间名称”。但是,当我运行日志时,却无法定义。
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']);
我还在四处徘徊,我需要你帮助我。
答案 0 :(得分:1)
由于roomNameArr
是一个对象数组,因此该数组中的所有对象总会有一个索引号。
因此,如果要访问key:value
数组中任何对象的roomNameArr
,则必须定义该对象存在的索引号。
就您而言,您必须编写类似
console.log("## roomNameArr1 : "+roomNameArr[0]['roomName']);
或
console.log("## roomNameArr1 : "+roomNameArr[0].roomName);
正确获取输出。