Angular 迭代对象数组并获得关键点2

Angular 迭代对象数组并获得关键点2,angular,Angular,嗨,我的数据结构如下: list = [{id: "test", name: "name1"}, {id: "test1", name: "name2"}, ..] 我想将键(id和名称)显示为表中的th。因为我没有找到任何内置管道,所以我创建了一个自定义管道 @Pipe({name: 'keys'}) export class KeysPipe implements PipeTransform { transform(value, args:string[]) : any { l

嗨,我的数据结构如下:

list = [{id: "test", name: "name1"}, {id: "test1", name: "name2"}, ..]
我想将键(id和名称)显示为表中的th。因为我没有找到任何内置管道,所以我创建了一个自定义管道

@Pipe({name: 'keys'})
export class KeysPipe implements PipeTransform {
  transform(value, args:string[]) : any {
    let keys = [];
    for (let key in value) {
      keys.push({key: key, value: value[key]});
    }
    return keys;
  }
}

但是在我的html中,我只得到0,1,2。。。作为钥匙。知道这里出了什么问题吗

试试这样的,我没有试过,但应该可以。问题是u在数组上迭代,而不是在对象上迭代。然后,当你说“key”时,它是数组的索引,这就是为什么你会得到“0,1,2”。 你的桌子是这样的吗

ID    NAME
id1   name1
id2   name2
...   ...

也许这会有帮助:

@Pipe({name: 'keys'})
export class KeysPipe implements PipeTransform {
  transform(value, args:string[]) : any {
    let keys = [];
    Object.keys(value).forEach(function(key){
      keys.push({key: key, value: value['value']});
    }); 

    return keys;
  }
}

不是我所期望的Alberto。是否具有密钥动态长度(ej:id、姓名、年龄等)?您的模板看起来像什么?您真正想要显示什么?你有一个对象数组,为什么不按原样迭代呢<代码>{{item.id}{{item.name}也许我误解了:)