Javascript map如何使用js在(字符串、arrayList)上工作?

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

我正在使用Nexmo进行一个调用,该调用为单个调用生成三个UUID。UUID是在不同的时间生成的,所以我将它们存储在as(string,arraylist)中。由于我打了多个电话,我需要检查要挂断的电话。如何在Node.js中检索映射的键(字符串)?我已在下面附上API代码:

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时无法区分它们。