NodeJS如何添加对象到一个集合和迭代?

这应该是非常简单,但我没有得到它的工作。

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'); } 

为什么我得到:

 undefined iterated undefined iterated 

我想要得到的是:

 something iterated something iterated 

 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 

你需要使用而不是在你的for循环。 通过一个对象的字段循环,这就是为什么你得到像设置对象50行。 另一方面将像迭代器一样对待目标,并像你期望的那样抓取它的内容。 这里是一个例子:

 function User() { this.name = 'something'; } var clients = new Set(); var a = new User(); var b = new User(); clients.add(a); clients.add(b); for (var user of clients) { console.log(user.name+' iterated'); }