Working with one open source project, I ran into lines that I don’t understand.

function MultiPeers(connection) { var self = this; var skipPeers = ['getAllParticipants', 'getLength', 'selectFirst', 'streams', 'send', 'forEach']; connection.peersBackup = {}; connection.peers = { getLength: function() { var numberOfPeers = 0; for (var peer in this) { if (skipPeers.indexOf(peer) == -1) { numberOfPeers++; } } return numberOfPeers; } .......... 

What does it mean to go through this?

    1 answer 1

    Go through all the fields of the current object (in this case, MultiPeers.connection.peers ) and get their names

     function MultiPeers(connection) { var self = this; var skipPeers = ['getAllParticipants', 'getLength', 'selectFirst', 'streams', 'send', 'forEach']; connection.peersBackup = {}; connection.peers = { getLength: function() { var numberOfPeers = 0; for (var peer in this) { console.log(peer); if (skipPeers.indexOf(peer) == -1) { numberOfPeers++; } } return numberOfPeers; } } } const con = {}; const mp = new MultiPeers(con); con.peers.getLength();