我刚刚面临一个问题无法在Angular中打印属性名称
import numpy as np
A = [0.12075357905088335, -0.192198145631724, 0.9455373400335009, -0.6811922263715244, 0.7683786941009969, 0.033112227984689206, -0.3812622359989405]
A = np.array(A)[:, None]
print(A)
# [[ 0.12075358]
# [-0.19219815]
# [ 0.94553734]
# [-0.68119223]
# [ 0.76837869]
# [ 0.03311223]
# [-0.38126224]]
如何在没有硬编码的情况下做同样的事情。 我正在搜索这个,但每个人都建议使用Pipe实现这一点。
那里有替代或简单的方式吗?实现这一点。
答案 0 :(得分:3)
您可以使用通用函数在给定值的情况下检索对象的键:
function getKey(obj, value) {
return Object.keys(obj).find(x=> obj[x] === value);
}
并在HTML中使用它:
<div *ngFor="let obj of array">
<p>{{getKey(obj , obj.name)}}: {{obj.name}}</p>
</div>
答案 1 :(得分:0)
使用烟斗将是我认为最好的选择,为什么你不想使用它们?,你可以轻松使用它们
<p *ngFor="let name of array">
<p *ngFor="let property of name | ObjNgFor">
{{ property }}: {{ name[property]}}
</p>
</p>
管道就像
import { Pipe, PipeTransform } from "@angular/core";
@Pipe({ name: 'ObjNgFor'})
export class ObjNgFor implements PipeTransform {
transform(value: any): any {
return Object.keys(value);
}
}