以角度打印值和键?

时间:2018-04-24 10:11:23

标签: angular

我刚刚面临一个问题无法在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实现这一点。

那里有替代或简单的方式吗?实现这一点。

2 个答案:

答案 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);
     }
}