NodeJS how to add objects to a set and iterate?

14,278
var Set = require("collections/set");

function User() {
    this.name = 'something';
}


var clients = new Set();

var a = new User();
var b = new User();
clients.add(a);
clients.add(b);


var arr = clients.toArray();
for (var i=0;i<arr.length;i++) {
    console.log(arr[i].name+" iterated");
}
//something iterated
//something iterated
Share:
14,278
Admin
Author by

Admin

Updated on June 13, 2022

Comments

  • Admin
    Admin almost 2 years

    This should be really straightforward but i haven't got it to work.

    var Set = require("collections/set");
    
    function User() {
        this.name = 'something';
    }
    
    var clients = new Set();
    
    var a = new User();
    var b = new User();
    clients.add(a);
    clients.add(b);
    
    var arr = clients.toArray();
    for (var user in arr) {
        console.log(user.name+' iterated');
    }
    

    Why am i getting:

    undefined iterated
    undefined iterated
    

    What i want to get is:

    something iterated
    something iterated
    
  • Admin
    Admin over 7 years
    Doesn't look like it's smart enough, i am getting SyntaxError: Unexpected identifier - On the "of" part.
  • david
    david over 7 years
    Then do what sumeet has posted, that will work if you can get an actual array.
  • sem10
    sem10 over 4 years
    I do not need to require Set in NodeJS version 12. It was throwing an error when i did. It is available by default