Angular 从嵌套数据集中映射值

Angular 从嵌套数据集中映射值,angular,Angular,我试图映射特定数据集中的某些值,但无法获取所有数据 *数据集* this.medOptions = [ { "selectedMAP": [ { "mapId": 1, "mapName": "medtest3", "options": [ { "optionId": 1,

我试图映射特定数据集中的某些值,但无法获取所有数据

*数据集*

 this.medOptions = [
        {
          "selectedMAP": [
            {
              "mapId": 1,
              "mapName": "medtest3",
              "options": [
                {
                  "optionId": 1,
                  "optionName": "medoptiontest3",
                  "optionPrice": 1000
                }
              ]
            },
            {
              "mapId": 2,
              "mapName": "medtest4",
              "options": [
                {
                  "optionId": 2,
                  "optionName": "medoptiontest4",
                  "optionPrice": 2000
                }
              ]
            }
          ]
        }
     ]
映射函数

目前,我可以使用[0]获取第一组值,但我很难动态获取所有值

模型

HTML


{{plan.providerName}}:{{plan.name}-R{{plan.amount}编号:''en'}

如何在映射函数中获取数据集中的所有值?

而不是在
上循环。medOptions
您应该在
medOptions[0]上循环。选择地图来映射数据

const-medpoptions=[
{
“选定地图”:[
{
“mapId”:1,
“地图名称”:“medtest3”,
“选择”:[
{
“选项ID”:1,
“optionName”:“medoptiontest3”,
“期权价格”:1000
}
]
},
{
“mapId”:2,
“mapName”:“medtest4”,
“选择”:[
{
“选项ID”:2,
“optionName”:“medoptiontest4”,
“期权价格”:2000年
}
]
}
]
}
];
函数getObj(arr){
返回{
dynamicPlanOptions:medOptions[0]。已选择map.map(x=>({
选:错,
名称:x.options[0]。optionName,
金额:x.options[0]。optionPrice
}))
};
} 
设y=getObj(medOptions);

控制台日志(y)
can
medOptions
array是否有多个对象???@programoholic否它将始终有1个可粘贴输出JSON?
 initDynamicMedicalAidModel(): TemplateDynamicMedicalAid {
    return {
      dynamicPlanOptions: this.medOptions.map(x => ({
        isSelected: false,
        name: x.selectedMAP[0].options[0].optionName,
        amount: x.selectedMAP[0].options[0].optionPrice
      }))
    };
 }
export interface TemplateDynamicMedicalAid {
  dynamicPlanOptions: Array<{ isSelected: boolean, name: string, amount: number }>;
}
 @Input() medicalAidDynamic: TemplateDynamicMedicalAid;
 <div *ngFor="let plan of medicalAidDynamic.dynamicPlanOptions; let index = index;" class="line">
        <p-checkbox 
          binary="true" 
          [disabled]="mode == 'view'" 
          [(ngModel)]="medicalAidDynamic.dynamicPlanOptions[index].isSelected" >
        </p-checkbox> 
        {{ plan.providerName }}: {{ plan.name }} -  R{{ plan.amount | number:'':'en' }}
      </div>
 </div>