I’m trying to make a logger for IDs and names, but I can’t seem to detect if the script is trying to add the two same IDs.
I’ve tried id.includes(user._id)
, but it always passed the if
test. Here’s the code:
let id = []; MPP.client.on('participant added', user => { if (id.includes(user._id)) return console.log( `%c - joined, seen ${user._id}, n: ${user.name}`, 'color: red;' ); id.push({ id: user._id, n: user.name, action: 'joined' }); console.log( `%c + joined, added ${user._id} to list, n: ${user.name}`, 'color: lime;' ); }); MPP.client.on('participant removed', user => { if (id.includes(user._id)) return console.log( `%c - left, seen ${user._id}, n: ${user.name}`, 'color: red;' ); id.push({ id: user._id, n: user.name, action: 'left' }); console.log( `%c + left, added ${user._id} to list, n: ${user.name}`, 'color: lime;' ); });
Advertisement
Answer
You can search your id
array with find
this will give you the current object which you can match your user._id
against.
if (id.find(participant => participant.id === user._id)) return ...