Angular2:我如何将每个对象迭代到包含对象数组数据的可观察对象?

时间:2018-04-05 07:13:24

标签: angular observable

大家好我刚刚开始学习(升级为具体)Angular 2,我只是有几个问题。我如何迭代数组对象的可观察对象中的每个对象?

如果我从" api / v1 / example"获取数据,这就是我检索的内容。已经是邮差的人,是的,它的工作。 。

// my arrayObject
[
{
    "userID": 12,
    "username": "admin1",
    "password": "admin2"
},
{
    "userID": 13,
    "username": "admin21",
    "password": "admin32"
},
{
    "userID": 14,
    "username": "admin221",
    "password": "admin72"
},
{
    "userID": 15,
    "username": "admin451",
    "password": "admin652"
},
{
    "userID": 16,
    "username": "admin561",
    "password": "admin1222"
},
{
    "userID": 17,
    "username": "admin154",
    "password": "admin572"
},
{
    "userID": 127,
    "username": "admin1254",
    "password": "admin5721"
}
]

正如我之前所说的那样,我只是学习角度2,所以我尝试使用这个虚拟数据来测试可观察的,但不知怎的,在我的代码中,我无法真正迭代对象中的每个数据,这是我到目前为止所尝试的

 myData: Any[];

 constructor(private _http: HttpClient) { }

 ngOnInit() {
     this._http.get<Any[]>("api/v1/example")
         .map(data => data["username"])
         .subscribe(data => console.log(data));
 }

但我没有得到任何数据,我甚至尝试了过滤器

filter(data => data["id"] > 0)

但仍然失败, 但如果我只是立即订阅,我可以检索数据

 ngOnInit() {
     this._http.get<Any[]>("api/v1/example")
         .subscribe(data => console.log(data));
 }

我使用java中的流作为参考,但我认为他们不会这样做,提前谢谢你们

1 个答案:

答案 0 :(得分:1)

尝试以下代码:

import { Observable } from 'rxjs/Observable';
import { from } from 'rxjs/observable/from';
import { of } from 'rxjs/observable/of';
import { map } from 'rxjs/operators';

    this._http.get<Any[]>("api/v1/example").pipe(
          map(d => { return d["username"]; })
        ).subscribe(data => console.log(data));

参考工作stackblitz