从对象中提取数组

时间:2018-01-21 14:42:09

标签: arrays angular typescript object foreach

我在尝试从array中提取object时出现问题。结构如下:

[]
  0: Array(4)
     0: 0
     1: 5
     2: 500
     3: (5) [{…}, {…}, {…}, {…}, {…}]

我已尝试object.keysforforeach循环,但我无法找到解决方案。这个例子是我使用console.log(object)时得到的。当我放console.log(object.length)时,我得到0作为输出。但类型是object。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用HttpClient

getTests(): Observable<Test[]> {
   //Your function return a Observable, forget equal to this.test.array or whatever
   return this.http
       .get<Idea[]>(this.url) //<--get, return your json
       .map(data => data[3]); //<--we change the response, instead of returning
                              //   all the object we only return the element[3]

//And you use 
getTest().subscribe((data:Idea[])=>{
   console.log(data);
   //If you have a public variable "test_array" you can do
   this.test_array=data;
   })

答案 1 :(得分:0)

我看到三个级别的数组,你返回的对象是一个数组,索引[0]也是一个数组,那么你在索引3处有一个5的数组

试试这个:

getTests(): Observable<any[]> {
   return this.http
       .get<any[]>(this.url) 
       .map(data => data[0][3]); 

getTest().subscribe(data => {
   console.log(data);
   //If you have a public variable "test_array" you can do
   this.test_array=data;
   })