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}也许我误解了:)