Javascript map如何使用js在(字符串、arrayList)上工作?
我正在使用Nexmo进行一个调用,该调用为单个调用生成三个UUID。UUID是在不同的时间生成的,所以我将它们存储在as(string,arraylist)中。由于我打了多个电话,我需要检查要挂断的电话。如何在Node.js中检索映射的键(字符串)?我已在下面附上API代码:Javascript map如何使用js在(字符串、arrayList)上工作?,javascript,node.js,nexmo,Javascript,Node.js,Nexmo,我正在使用Nexmo进行一个调用,该调用为单个调用生成三个UUID。UUID是在不同的时间生成的,所以我将它们存储在as(string,arraylist)中。由于我打了多个电话,我需要检查要挂断的电话。如何在Node.js中检索映射的键(字符串)?我已在下面附上API代码: app.post('/events', function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Acc
app.post('/events', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
var baseURL = req.headers.host;
var from = req.body.from;
console.log("req.body.from", req.body.from)
if (req.body.status == "answered" ) {
//uuid's generated at different timings.and these uuid's are pushed into conversationIDs arrays.
conversationIDs.push(req.body.uuid);
} else if (req.body.status == "completed") {
// I should not add the conversation id arraylist over here but i dont have anyother options left.
map.set(req.body.conversation_uuid,conversationIDs);
var jwt = nexmo.generateJwt();
async.forEach(conversationIDs, function (id, calbk) {
request({
url: 'https://api-us-1.nexmo.com/v1/calls/' + req.body.conversation_uuid,//understood that i should not delete using conversation id. But dnt know how to proceed further.
method: 'PUT',
headers: {
'Authorization': 'Bearer ' + jwt,
"Content-Type": "application/json; charset=utf8",
"Accept": "application/json"
},
body: JSON.stringify({
"action": "hangup"
})
}, (err, res, body) => {
if (err) {
console.log('Err', err)
// res.end()
calbk()
} else {
console.log("success");
// res.end()
calbk()
}
})
})
}
res.sendStatus(200);
});
您可以使用返回的获取对话ID
和对话ID
。但是,如果您只关心对话\u uuid
(键),则可以使用
让我们看看下面的示例地图:
var map = new Map();
map.set('050160e7-4d20-4ffd-97d3-7430a3d2e8db', ['conversationId1', 'conversationId2']);
map.set('111360e7-4d20-4ffd-97d3-7430a3d2e8db', ['conversationId3', 'conversationId4']);
如上所示,我们创建了一个映射并设置了两个条目。要检索第一个键(conversation\uuid
),可以执行以下操作:
var iterator = map.keys();
var firstConversationUuid = iterator.next().value;
console.log(firstConversationUuid);
> "050160e7-4d20-4ffd-97d3-7430a3d2e8db"
请记住,您必须不断迭代每个项才能获得所有键
同样的方法也可以应用于map.entries
,但是迭代器.next().value
将返回一个包含键和值的数组
var entriesIterator = map.entries();
var item1 = entriesIterator.next().value;
console.log(item1);
> Array ["050160e7-4d20-4ffd-97d3-7430a3d2e8db", Array ["conversationId1", "conversationId2"]]
您可以使用返回的获取对话ID
和对话ID
。但是,如果您只关心对话\u uuid
(键),则可以使用
让我们看看下面的示例地图:
var map = new Map();
map.set('050160e7-4d20-4ffd-97d3-7430a3d2e8db', ['conversationId1', 'conversationId2']);
map.set('111360e7-4d20-4ffd-97d3-7430a3d2e8db', ['conversationId3', 'conversationId4']);
如上所示,我们创建了一个映射并设置了两个条目。要检索第一个键(conversation\uuid
),可以执行以下操作:
var iterator = map.keys();
var firstConversationUuid = iterator.next().value;
console.log(firstConversationUuid);
> "050160e7-4d20-4ffd-97d3-7430a3d2e8db"
请记住,您必须不断迭代每个项才能获得所有键
同样的方法也可以应用于map.entries
,但是迭代器.next().value
将返回一个包含键和值的数组
var entriesIterator = map.entries();
var item1 = entriesIterator.next().value;
console.log(item1);
> Array ["050160e7-4d20-4ffd-97d3-7430a3d2e8db", Array ["conversationId1", "conversationId2"]]
map.keys
或map.entries
?map.keys
或map.entries
?实际问题是动态生成我在ArrayList中添加的值。如果我进行多个调用,uuid会同时生成,在ArrayList中添加uuid时,我无法区分它们。实际问题是我在ArrayList中添加的值是动态生成的。如果我进行多个调用,uuid将同时生成,并且在ArrayList中添加uuid时无法区分它们。