Arc*_*oel 3 iterable typescript angular
我已经在 angular 中创建了一个类,现在当我通过商店订阅获取一个对象时,虽然它返回一个对象数组,但我不能在返回的对象上使用 forEach 循环。
是的,我使用了Object.keys(user).forEach(){..}它正在工作,但我想通过使类 Iterable 来做同样的事情。如何做到这一点。
示例代码:-
class user {
...
}
ngOnInit(){
storeSubsc = this.store.select('users').subscribe(user => {
this.user = user;
});
}
login(){
Object.keys(this.user).forEach()... --> working fine
I want it like
this.user.forEach() {... }
}
Run Code Online (Sandbox Code Playgroud)
提前致谢...
In order for your class to be iterable, your class needs to have a method of Symbol.iterator:
class User implements Iterable<string> {
// ...
constructor(private username: string, private password: string) { }
*[Symbol.iterator](): Iterator<string> {
for (let key of Object.keys(this)) {
yield key;
}
}
}
const u = new User('blabla', '1234');
for (let k of u) {
console.log(k);
}
Run Code Online (Sandbox Code Playgroud)
In this case I used a generator function.
| 归档时间: |
|
| 查看次数: |
2161 次 |
| 最近记录: |